剑指offer——用两个栈实现队列
2018-01-05 20:02
232 查看
题目
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。思路
将stack2 作为最终“队列”。push:先将数据放到stack1,然后,在stack1上添加新的node,再倒回stack2。
pop:将最上面的数值保存下来,再从stack2上pop出去。返回保存的数值。
c++实现
class Solution { public: void push(int node) { while(!stack2.empty()){ stack1.push(stack2.top()); stack2.pop(); } stack1.push(node); while(!stack1.empty()){ stack2.push(stack1.top()); stack1.pop(); } } int pop() { int temp; temp = stack2.top(); stack2.pop(); return temp; } private: stack<int> stack1; stack<int> stack2; };
相关文章推荐
- 牛客网—剑指offer-用两个栈实现队列
- 剑指offer-面试7:用两个栈实现队列(栈和队列)
- 《剑指Offer》面试题-用两个栈实现队列
- (剑指Offer)面试题7:用两个栈实现队列
- 《剑指offer》-用两个栈实现队列
- 剑指offer——面试题7:用两个栈实现队列
- 《剑指offer》【面试题七:用两个栈实现队列】
- 剑指offer面试题7——用两个栈实现队列
- 剑指offer 编程题(5):两个栈实现队列,两个队列实现栈
- 剑指offer 之 两个栈来实现一个队列
- 剑指Offer---面试题:使用两个栈实现队列
- 剑指offer--用两个栈实现队列
- JAVA实现用两个栈来实现一个队列,完成队列的Push和Pop操作(《剑指offer》)
- 《剑指offer》用两个栈实现队列
- 《剑指offer》-- (4)用两个队列实现栈
- 《剑指Offer》之“用两个栈实现队列”
- 《剑指Offer》面试题:用两个队列实现一个栈
- 剑指Offer:面试题7——用两个栈实现队列(java实现)
- 剑指offer面试题7——用两个栈实现队列
- 《剑指offer》9.用两个栈实现队列