两个栈实现队列 牛客网 程序员面试金典 C++ Python

mac2022-06-30  94

两个栈实现队列 牛客网 程序员面试金典 C++ Python

题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。

C++

//run:5ms memeory:612k class Solution { public: void push(int node) { stack1.push(node); } int pop() { if (stack2.empty()) while(!stack1.empty()){ stack2.push(stack1.top()); stack1.pop(); } int ret = stack2.top(); stack2.pop(); return ret; } private: stack<int> stack1; stack<int> stack2; };

Python

class Solution: #run:28ms memory:5624k def __init__(self): self.stk1 = [] self.stk2 = [] def push(self, node): self.stk1.append(node) def pop(self): if self.stk2 == []: while self.stk1: n = self.stk1.pop() self.stk2.append(n) n = self.stk2.pop() return n

 

转载于:https://www.cnblogs.com/vercont/p/10210311.html

最新回复(0)