题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)

解析:首先逐个元素入栈,然后与出栈元素对比,要是有相同的元素就一直弹栈
代码如下:

import java.util.ArrayList;
import java.util.Stack;
public class Solution {public boolean IsPopOrder(int [] pushA,int [] popA) {Stack<Integer> stack = new Stack<Integer>();int index=0;for(int i=0;i<pushA.length;i++){//入栈一个元素stack.push(pushA[i]);//当前的栈不为空,开始判断while(!stack.empty()&&(stack.peek()==popA[index])){stack.pop();index++;}}return stack.empty();}
}

《剑指offer》栈的压入、弹出序列相关推荐

  1. 剑指offer-21.栈的压入弹出序列

    1.题目 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压 ...

  2. 【剑指offer-Java版】22栈的压入弹出序列

    栈的压入弹出序列:给定两个序列,一个是压入顺序,判断另外一个是否是该压入顺序的一个弹出顺序 思路:纯粹的模拟栈的压入和弹出顺序 分别遍历压栈序列seq1和另一个序列seq2 比较当前栈顶元素和seq2 ...

  3. 剑指offer 栈的压入、弹出序列

    题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序 ...

  4. 数据结构与算法--举例分析法- 栈的压入弹出序列

    举例分析 与上两篇问中画图方法一样,我们可以用举例模拟的方法思考分析复杂问题.当一眼不能看出问题的规律的时候,我们可以用几个具体的例子来模拟一下问题的过程.这样就和我们在程序出现问题时候的debug一 ...

  5. python 栈的压入弹出序列

    | 栈的压入和弹出序列 输入两个整数序列,第一个序列表示栈的压入顺序, 请判断第二个序列是否为该栈的弹出顺序. 假设压入栈的所有数字均不相等. 例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序 ...

  6. 剑指offer 31.栈的、压入弹出序列

    输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是 ...

  7. 2021-07-22剑指offer31.栈的压入、弹出序列

    将pushed数组中的数字压入栈中 用一个指针指向popped序列中的数字 栈中的数字与指针指向的数字相同,就将栈顶的数字弹出, 指针移动到下一位数字比较, 如果不相同,指针不移动,栈顶继续放入. c ...

  8. 剑指offer——栈

    栈,初听这个词还以为是战斗的战呢. 经过学习知道了此"栈"非彼战.栈,与我们小时候玩的那个汉诺塔游戏极其相似,最先放的圆盘最后出,最后放的圆盘最先出,汉诺塔的示意图如下图所示:(此 ...

  9. 剑指Offer——栈的java实现和栈的应用举例

    栈是一种先进后出的数据结构, 栈的实现如下: 首先定义了栈需要实现的接口: public interface MyStack<T> {/*** 判断栈是否为空*/ boolean isEm ...

  10. 【LeetCode笔记】剑指 Offer 33. 二叉树的后序遍历序列(Java、递归、栈)

    文章目录 题目描述 思路 && 代码 1. 递归做法 2. 辅助栈做法 二刷 打卡第四天-昨天没来得及写博客= = 题目描述 无须多言,直接冲思路吧! 思路 && 代码 ...

最新文章

  1. Apache常用配置
  2. 魔改宜家灯泡当主机,玩转《毁灭战士》无压力!网友:远超我家第一台电脑...
  3. 深度解析使用CSS单位px、em、rem、vh、vw、vmin、vmax实现页面布局
  4. 关于form组件的补充-------formChoice
  5. nginx禁止访问目录中可执行文件
  6. html编程入门指南,给萌新HTML5 入门指南
  7. kafka 不同分区文件存储_Kafka 系列(二)文件存储机制与Producer架构原理怎样保证数据可靠性??...
  8. Drupal 7.17 发布,专业的 CMS 内容管理系统
  9. PSpice应用 软件安装和B-1
  10. IE改善七大手法| ECRS工时分析软件
  11. java 打印机_JAVA实现调用打印机打印PDF
  12. 试用钉钉内网映射工具
  13. html页面设置document类型,htmldocument类型
  14. 测试自动化风险或成功的条款
  15. python求逆矩阵的方法,Python 如何求矩阵的逆
  16. 借助Jackson的JsonTypeInfo注解实现多态类的解析
  17. JDK1.8的安装方式
  18. python calu_Python中*args,**kwargs的使用
  19. 大数据学习系列(九)Hadoop1.X痛点分析及Hadoop2.X提出的解决方案
  20. can隔离器 总线隔离适配器简单应用

热门文章

  1. 使用飞书webhook发送图片消息
  2. 【简便解法】1090 危险品装箱 (25分)_33行代码AC
  3. @value 数组_数据结构与算法:12 数组与稀疏矩阵
  4. netty java开发文档_《Netty官方文档》设置开发环境
  5. 聚合链路出现Destination host unreachable
  6. oracle 单表查询 详细图文
  7. linux下su和sudo的区别 (/libtool: arm-linux-gcc command not found )
  8. 开发html5单页用什么框架,GitHub - mmcai/single-page-react-h5: 基于React框架的单页活动框架,可以基于此代码上进行相关的H5活动等相关内容的开发...
  9. mysql utf8 cmd,MySQL Windows下cmd显示中文乱码
  10. ida导入jni头文件_IDA导入Jni.h