interactive-coding-challenges/stacks_queues/stack/stack.py

28 lines
578 B
Python
Raw Normal View History

class Node(object):
2015-07-12 03:39:59 +08:00
2016-02-20 21:11:49 +08:00
def __init__(self, data, next=None):
self.data = data
2016-02-20 21:11:49 +08:00
self.next = next
2015-07-12 03:39:59 +08:00
class Stack(object):
2015-07-12 03:39:59 +08:00
def __init__(self, top=None):
self.top = top
def push(self, data):
2016-02-20 21:11:49 +08:00
node = Node(data, self.top)
self.top = node
def pop(self):
2016-02-20 21:11:49 +08:00
if self.top is None:
return None
data = self.top.data
self.top = self.top.next
return data
def peek(self):
2016-02-20 21:11:49 +08:00
return self.top.data if self.top is not None else None
2015-05-24 05:01:45 +08:00
def is_empty(self):
return self.peek() is None