diff options
Diffstat (limited to 'scratch/facebook/stack.py')
-rw-r--r-- | scratch/facebook/stack.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/scratch/facebook/stack.py b/scratch/facebook/stack.py new file mode 100644 index 000000000000..2a843e22166b --- /dev/null +++ b/scratch/facebook/stack.py @@ -0,0 +1,25 @@ +class Stack(object): + def __init__(self): + self.items = [] + + def __repr__(self): + return self.items.__repr__() + + def push(self, x): + self.items.append(x) + + def pop(self): + if not self.items: + return None + return self.items.pop() + + def peek(self): + if not self.items: + return None + return self.items[-1] + +def from_list(xs): + result = Stack() + for x in xs: + result.push(x) + return result |