1. 思路
栈特性:先进后出
队列特性:先进先出
实现方法:先进第一个栈,然后倒序进入第二个栈,弹出时第二个栈的top出去即可
相关函数,栈是pop()和push(x),size()方法看容量,empty()是是否为空,栈顶元素top()
1)方法一:stack2需要出栈1个就从stack1里top拿一个
2)方法二:需要从stack2中出栈时就把stack1中全拿出来放进去2. 源代码
class Solution { public: void push(int node) { stack1.push(node); } int pop() { int res; if(stack2.empty()){ while(!stack1.empty()){ int temp = stack1.top(); stack1.pop(); stack2.push(temp); } } res = stack2.top(); stack2.pop(); return res; } private: stack<int> stack1; stack<int> stack2; }; //栈的特征是先进后出