MCPcopy Create free account
hub / github.com/careercup/ctci / Stack

Class Stack

python/Chapter 3/Question3_5/3_5.py:51–77  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

49
50
51class Stack(object):
52 def __init__(self):
53 self.stack = Node()
54 self.size = 0
55
56 def push(self, data):
57 self.stack = Node(data, self.stack)
58 self.size += 1
59
60 def pop(self):
61 assert self.stack.data is not None, 'Stack is empty'
62 value = self.stack.data
63 self.stack.data = self.stack.nextNode.data
64 self.stack.nextNode = self.stack.nextNode.nextNode
65 self.size -= 1
66 return value
67
68 def peek(self):
69 assert self.size > 0, 'Stack is empty'
70 return self.stack.data
71
72 def __str__(self):
73 stack_copy = deepcopy(self)
74 tempHolder = []
75 while stack_copy.size > 0:
76 tempHolder.append(stack_copy.pop())
77 return ', '.join(map(str, tempHolder[::-1]))
78
79
80if __name__ == "__main__":

Callers 1

__init__Method · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected