栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java 剑指offer之[数据结构 中等]JZ5 用两个栈实现队列

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java 剑指offer之[数据结构 中等]JZ5 用两个栈实现队列

题目的链接在这里:https://www.nowcoder.com/practice/54275ddae22f475981afa2244dd448c6

目录
  • 题目大意
  • 一、示意图
  • 二、解题思路
    • 队列和栈的知识


题目大意 描述 用两个栈来实现一个队列,完成 n 次在队列尾部插入整数(push)和在队列头部删除整数(pop)的功能。 队列中的元素为int类型。保证操作合法,即保证pop操作时队列内已有元素。
一、示意图

二、解题思路
队列和栈的知识
队列和栈的知识

代码如下:

import java.util.Stack;

public class Solution {
 //用两个栈实现队列
    
    Stack stack1 = new Stack();
    Stack stack2 = new Stack();

    
    public void push(int node) {
        //在尾部插入
        stack1.push(node);

    }

    public int pop() {
        //在头部输出
        //需要判断stack2是不是空的
        if(stack2.isEmpty()){
            //说明是空的 那就需要把stack1全都放进去再进行出栈
            while (!stack1.isEmpty()){
                stack2.push(stack1.pop());
            }
            return stack2.pop();

        }
        else{
             return stack2.pop();
        }

    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/271833.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号