题目描述:
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
核心思想:
当要插入队列数据时,插入到栈1中,当要从队列中取数据时,就判断栈2是不是空的,如果是,那么将栈1中的数据全部弹栈到栈2,如果栈2不是空的那么对栈2执行弹栈。
import java.util.Stack;
public class Solution {
Stack<Integer> stack1 = new Stack<Integer>();
Stack<Integer> stack2 = new Stack<Integer>();
public void push(int node)
{
stack1.add(node);
}
public int pop()
{
if(stack2.empty())
{
while(true)
{
stack2.add(stack1.pop());
if(stack1.empty())
{
break;
}
}
}
int i=stack2.pop();
return i;
}
}