《剑指 Offer》学习(2)—— 9_两个栈实现一个队列
来源:互联网 发布:dnf扫拍软件 编辑:程序博客网 时间:2024/06/06 20:07
用两个栈来实现一个队列,完成队列的 Push 和 Pop 操作。 队列中的元素为 int 类型。
stack1 用来入队, stack2 用来出队
package com.sword_to_offer;import java.util.Stack;public class TwoStackImplQueue { Stack<Integer> stack1 = new Stack<>(); Stack<Integer> stack2 = new Stack<>(); public void push(int node) { while (!stack2.isEmpty()) stack1.push(stack2.pop()); stack1.push(node); } public int pop() { while (!stack1.isEmpty()) stack2.push(stack1.pop()); return stack2.pop(); } public static void main(String[] args) { TwoStackImplQueue queue = new TwoStackImplQueue(); queue.push(1); queue.push(6); queue.push(3); System.out.println(queue.pop()); queue.push(2); System.out.println(queue.pop()); queue.push(9); System.out.println(queue.pop()); queue.push(7); System.out.println(queue.pop()); System.out.println(queue.pop()); System.out.println(queue.pop()); }}
数据结构与算法分析(Java 语言描述)(35)—— 使用两个栈实现一个队列
http://blog.csdn.net/heatdeath/article/details/78773501
数据结构与算法分析(Java 语言描述)(36)—— 使用两个队列实现一个栈
http://blog.csdn.net/heatdeath/article/details/78773883
阅读全文