You are viewing a single comment's thread. Return to all comments →
class Stack: def __init__(self): self.items = [] def push(self, x): self.items.append(x) def pop(self): if self.items: return self.items.pop() else: return None def top(self): if self.items: return self.items[-1] else: return None class Queue: def __init__(self): self.en_st = Stack() # enqueue stack self.de_st = Stack() # dequeue stack def enqueue(self, x): self.en_st.push(x) def dequeue(self): if not self.de_st.items: while self.en_st.items: self.de_st.push(self.en_st.pop()) return self.de_st.pop() def front(self): if not self.de_st.items: while self.en_st.items: self.de_st.push(self.en_st.pop()) return self.de_st.top() queue = Queue() count = int(input()) for _ in range(count): order = input().split() if order[0] == '1': queue.enqueue(int(order[1])) elif order[0] == '2': queue.dequeue() elif order[0] == '3': print(queue.front()) else: print('Error code: 999') break
Seems like cookies are disabled on this browser, please enable them to open this website
Queue using Two Stacks
You are viewing a single comment's thread. Return to all comments →