1.题目:
2.思路:
1.栈的特点的先进后出
2.队列的特点是先进先出
3.那么, 我们就可以使用两个栈来实现队列
3.代码:
package com.xiaoxuanfeng.arithmetic;import java.util.Stack;// 用栈实现队列public class UseStackRealizeQueue {// 1.创建两个栈Stack<Integer> stackA = new Stack<>();Stack<Integer> stackB = new Stack<>();// 2.元素转移public void transfer() {while (!stackA.isEmpty()) {stackB.push(stackA.pop());}}// 3.入队操作public void enQueue(int element) {stackA.push(element);}// 4.出队操作public Integer deQueue() {if (stackB.isEmpty()) {if (stackA.isEmpty()) {return null;}transfer();}return stackB.pop();}// 5.测试public static void main(String[] args) {UseStackRealizeQueue queue = new UseStackRealizeQueue();queue.enQueue(1);queue.enQueue(2);queue.enQueue(3);// 打印结果System.out.println("出队的元素是:" + queue.deQueue());}}
