- 1
- 0
- 约2.12千字
- 约 2页
- 2026-07-23 发布于北京
- 举报
用两个栈实现队列_
题目描述
用两个栈来实现一个队列,完成队列的Push和Pop操作。队列中的元素为int类型。
思想:
两个栈实现一个队列(先进先出)
删除一个元素步骤:
入队:将元素压入栈1;
出队:判断栈2是否为空:
如果栈2为空,将栈1中所有元素pop,并push压入栈2,栈2依次弹出即可;
如果栈2非空,则栈2中栈顶元素就是最先入队列的元素,直接弹出即可;
两个队列实现一个栈(后进先出)
入栈:将元素进队列1
出栈:判断队列1中元素个数是否为1
如果个数为1,则出队列;
如果个数大于1,将队列1中元素依次出队列放入队列2,直到队列1中元素个数为1,然后队列1中元素
出队即可,再把队列2中元素出队列依次放入队列1中;
//栈2为空,将栈1push
while(!stack1.empty()){
val=stack1.pop();
stack2.push(val);
//栈2不为空,直接弹出栈顶元素返回
两个队列实现一个栈
//两个队列实现一个栈
LinkedListIntegerqueue1=newLinkedList();
publicvoidpush
原创力文档

文档评论(0)