class Node(object): def __init__(self, data): self.data = data self.next = None class Stack(object): def __init__(self, top=None): self.top = top def push(self, data): node = Node(data) node.next = self.top self.top = node def pop(self): if self.top is not None: data = self.top.data self.top = self.top.next return data return None def peek(self): if self.top is not None: return self.top.data return None