File tree Expand file tree Collapse file tree 1 file changed +46
-0
lines changed Expand file tree Collapse file tree 1 file changed +46
-0
lines changed Original file line number Diff line number Diff line change
1
+ class Node :
2
+ def __init__ (self , value ):
3
+ self .value = value
4
+ self .next = None
5
+
6
+ class Stack :
7
+ def __init__ (self ):
8
+ self .head = None
9
+ self .num_element = 0
10
+ def push (self , value ):
11
+ if self .head is None :
12
+ self .head = Node (value )
13
+ else :
14
+ new_node = Node (value )
15
+ new_node .next = self .head
16
+ self .head = new_node
17
+ self .num_element += 1
18
+ def pop (self ):
19
+ if self .head is None :
20
+ return None
21
+ value = self .head .value
22
+ self .head = self .head .next
23
+ self .num_element -= 1
24
+ return value
25
+ def size (self ):
26
+ return self .num_element
27
+ def is_empty (self ):
28
+ return self .num_element == 0
29
+ def top (self ):
30
+ return self .head .value
31
+
32
+ def reverseStack (stack ):
33
+ new_stack = Stack ()
34
+ for e in range (stack .size ()):
35
+ poped_element = stack .pop ()
36
+ new_stack .push (poped_element )
37
+ return new_stack
38
+
39
+ stack1 = Stack ()
40
+ stack1 .push (1 )
41
+ stack1 .push (2 )
42
+ stack1 .push (3 )
43
+ stack1 .push (4 )
44
+ stack2 = reverseStack (stack1 )
45
+
46
+
You can’t perform that action at this time.
0 commit comments