Untitled
🧩 Syntax:
class Node:
def __init__(self,data):
self.data = data
self.next = None
class Stack:
def __init__(self):
self._head = None
self._size = 0
def push(self,data):
new_node = Node(data)
new_node.next = self._head
self._head = new_node
self._size += 1
def pop(self):
if self._size==0:
return -1
data = self._head = self._head
self._head = self._head.next
self._size -= 1
return data
def top(self):
if self._size==0:
return -1
else:
return self._head.data
def size(self):
return self._size
def isEmpty(self):
return self._size==0
# Driver code
if __name__ == "__main__":
q = int(input())
stack = Stack()
for _ in range(q):
query = list(map(int,input().split()))
if query[0]==1:
stack.push(query[1])
elif query[0]==2:
print(stack.pop())
elif query[0]==3:
print(stack.top())
elif query[0]==4:
print(stack.size())
elif query[0]==5:
print(stack.isEmpty())