题目:栈的压入、弹出序列

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

示例 1:

输入:pushed = [1,2,3,4,5], popped = [4,5,3,2,1]
输出:true
解释:我们可以按以下顺序执行:
push(1), push(2), push(3), push(4), pop() -> 4,
push(5), pop() -> 5, pop() -> 3, pop() -> 2, pop() -> 1

示例 2:

输入:pushed = [1,2,3,4,5], popped = [4,3,5,1,2]
输出:false
解释:1 不能在 2 之前弹出。

提示:

0 <= pushed.length == popped.length <= 1000
0 <= pushed[i], popped[i] < 1000
pushed 是 popped 的排列。

解题:

class Solution {
public:bool validateStackSequences(vector<int>& pushed, vector<int>& popped) {if(pushed.size()!=0&&popped.size()==0) return false;stack<int> pushStack;int i=0,j=0;while(i<pushed.size()||!pushStack.empty()){if(!pushStack.empty()&&popped[j]==pushStack.top()){pushStack.pop();j++;}else{if(i>=pushed.size()) break;pushStack.push(pushed[i]);i++;}}return j==popped.size();}
};

剑指offer:面试题31. 栈的压入、弹出序列相关推荐

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

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

  2. 剑指offer面试题31. 栈的压入、弹出序列(链表)

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

  3. 剑指offer面试题[22]-栈的压入、弹出序列

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

  4. 剑指offer(21)栈的压入、弹出序列

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

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

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

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

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

  7. 剑指offer(21)栈的压入、探出序列

    链接:https://www.nowcoder.com/questionTerminal/d77d11405cc7470d82554cb392585106 思路:借用一个辅助的栈,遍历压栈顺序,先将第 ...

  8. python 栈的压入弹出序列

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

  9. 剑指offer——面试题31:连续子数组的最大和

    剑指offer--面试题31:连续子数组的最大和 Solution1: 第一次做这道题.. 讲道理是这是标准的动态规划的题目,可是思路未完全想好. min_element(iterator, iter ...

  10. 剑指offer——面试题41:和为S的连续整数序列

    剑指offer--面试题41:和为S的连续整数序列 Solution1:我的答案 基本思路是根据等差数列的前n项和推导出首项与项数的关系,设首项为a1a1a_1,项数为kkk,和为S" ro ...

最新文章

  1. ACM基础题 - 求矩形个数
  2. .NET Core on K8S学习实践系列文章索引(持续更新)
  3. [HNOIAHOI2018] 转盘(线段树维护单调栈)
  4. linux mysql 5.6.14_CentOS 6.4下编译安装MySQL 5.6.14
  5. 敏捷开发需求文档_需求的长期,敏捷文档
  6. 【设计师配色宝典!教你从零开始学配色】转
  7. 用友NC报表行数能否配置
  8. 必装 6 款超神的 GitHub 插件
  9. 统计用区划和城乡划分代码,在线爬取代码
  10. PLC十字路口交通灯设计
  11. 广播地址为什么只能作为目的地址,不能作为源地址?
  12. 计算机的学情分析报告,计算机教学计划合集总结5篇
  13. Ubuntu20.04以及Ubuntu18.04修改键盘布局(法语键盘)
  14. linux限制用户只能访问网站,Linux中限制用户访问权限的3种方法
  15. 学而思网校怎么查看回放 学而思网校查看回放教程
  16. 我的世界服务器文件翻译,我的世界server.properties翻译 联机参数设置攻略
  17. mysql数据库扫描工具_Scuba2019最新免费版|Scuba(数据库扫描工具)官方版下载_v10.0.3_9号软件下载...
  18. 瓴羊CEO朋新宇:从数据发现问题到数据创造价值|2022全球数字价值峰会-阿里云开发者社区
  19. 在linux下 用户的密码错误,linux中root用户密码错误如何解决
  20. uniapp App端后台间隔时间发送定位功能实现

热门文章

  1. java.util.Collections.synchronizedSet()方法的使用
  2. 2022-2028年中国食品电商行业投资分析及前景预测报告
  3. ubuntu 挂载 exfat 格式 U盘 mount:unknown filesystem type ‘exfat‘
  4. Pandas 基础 (5) —— 处理缺失数据及层次化索引
  5. 【Intellij IDEA】eclipse项目导入
  6. 20150411--Dede二次开发-01
  7. C_str的入门级notes
  8. linux定时器(crontab)实例
  9. ecshop /api/client/api.php、/api/client/includes/lib_api.php SQL Injection Vul
  10. sybase Invalid command line argument 'and'.