如何使用两个栈实现队列Java-创新互联

这篇文章主要介绍了如何使用两个栈实现队列Java,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

创新互联是专业的东明网站建设公司,东明接单;提供网站设计、成都网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行东明网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

题目

用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。

题解

描述

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

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

code

import java.util.Stack;

public class Solution {
  Stack stack1 = new Stack();
  Stack stack2 = new Stack();
  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();
  }
}

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前标题:如何使用两个栈实现队列Java-创新互联
分享URL:http://pwwzsj.com/article/hhpcp.html