Java怎么用两个栈实现队列

Java怎么用两个栈实现队列

本篇内容主要讲解“Java怎么用两个栈实现队列”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java怎么用两个栈实现队列”吧!

题解

描述

栈的特性是先进后出,队列的特点是先进先出,当数字依次入栈1后,依次出栈1并且压入栈2后,然后再出栈的顺序与进入栈1的顺序是一致的。

因此,进入队列通过压入栈1实现,弹出队列通过弹出栈2的栈顶元素实现,在弹出元素时需要保证当前栈弹出元素的顺序和队列弹出元素的顺序一致,即栈1的元素应当全部压入到栈2中。

code

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栈    stack1.push(node);  }  public int pop() {    //若stack2为空    if(stack2.isEmpty()){     while(!stack1.isEmpty()){       stack2.push(stack1.pop());     }    }     return stack2.pop();  }}

到此,相信大家对“Java怎么用两个栈实现队列”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!