专栏首页小浩算法《剑指offer》第八天:二叉树的下一个结点

《剑指offer》第八天:二叉树的下一个结点

用两个栈实现队列

题目描述

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

原题展示

解法

Push 操作,每次都存入 stack1Pop 操作,每次从 stack2 取:

  • stack2 栈不为空时,不能将 stack1 元素倒入;
  • stack2 栈为空时,需要一次将 stack1 元素全部倒入。
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.push(node);
    }
    
    public int pop() {
        if (stack2.isEmpty()) {
            if (stack1.isEmpty()) {
                return -1;
            }
            while (!stack1.isEmpty()) {
                stack2.push(stack1.pop());
            }
        }
        return stack2.pop();
    }
}

测试用例

  1. 往空的队列里添加、删除元素;
  2. 往非空的队列添加、删除元素;
  3. 连续删除元素直至队列为空。

我把我写的所有题解整理成了一本电子书放在了 github 上,三天内冲击到 github 排行榜榜首!近 5w 人下载阅读!要获取的话,直接进入下方链接就可以了(记得给我点个 star):

https://github.com/geekxh/hello-algorithm

本文分享自微信公众号 - 小浩算法(xuesuanfa),作者:小浩算法

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-08-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 漫画:二叉树系列 第二讲(层次遍历与BFS)

    在上一节中,我们通过例题学习了二叉树的DFS(深度优先搜索),其实就是沿着一个方向一直向下遍历。那我们可不可以按照高度一层一层的访问树中的数据呢?当然可以,就是...

    程序员小浩
  • 第36期:二叉树的遍历(小白必看)

    BFS,广度/宽度优先。其实就是从上到下,先把每一层遍历完之后再遍历一下一层。假如我们的树如下:

    程序员小浩
  • 万字长文!位运算面试看这篇就够了!

    祝大家五一快乐。今天是小浩算法 “365刷题计划” 位运算超长 - 整合篇。估计五一期间,大家也没有什么心思好好做题。所以我就把之前已经出过的位运算系列,进行了...

    程序员小浩
  • 用两个栈实现队列

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

    用户3003813
  • 剑指offer--用两个栈实现队列

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

    AI那点小事
  • 2019年Java架构师必读书籍

    动力节点Java培训最新上线Java实验班,等你来测试自己适不适合学习Java编程哦!

    动力节点Java学院
  • 用于P范数线性回归的快速,可证明收敛的IRLS算法

    作者:Deeksha Adil,Richard Peng,Sushant Sachdeva

    罗大琦
  • 精华!!腾讯java二面,一如既往的附答案整理

    二面是真的难 都不问你基础知识 大三暑期实习 中午11点视频面试 没让写代码(30min) 下面的回答是当时的回答,不是准确答案哈~

    好好学java
  • Python 聊天程序

    套接字是为特定网络协议(例如TCP/IP,ICMP/IP,UDP/IP等)套件对上的网络应用程序提供者提供当前可移植标准的对象。它们允许程序接受并进行连接,如发...

    py3study
  • Java后端工程师必备书单(含大后端方向相关书籍)

    作者黄小斜,斜杠青年,某985硕士,阿里研发工程师,于2018 年秋招拿到 BAT 头条、网易、滴滴等 8 个大厂 offer

    黄小斜

扫码关注云+社区

领取腾讯云代金券