剑指offer:面试题31. 栈的压入、弹出序列
题目:栈的压入、弹出序列
输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {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. 栈的压入、弹出序列相关推荐
- 【剑指offer-Java版】22栈的压入弹出序列
栈的压入弹出序列:给定两个序列,一个是压入顺序,判断另外一个是否是该压入顺序的一个弹出顺序 思路:纯粹的模拟栈的压入和弹出顺序 分别遍历压栈序列seq1和另一个序列seq2 比较当前栈顶元素和seq2 ...
- 剑指offer面试题31. 栈的压入、弹出序列(链表)
题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2 ...
- 剑指offer面试题[22]-栈的压入、弹出序列
题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序 ...
- 剑指offer(21)栈的压入、弹出序列
题目描述: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该 ...
- 剑指offer-21.栈的压入弹出序列
1.题目 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压 ...
- 数据结构与算法--举例分析法- 栈的压入弹出序列
举例分析 与上两篇问中画图方法一样,我们可以用举例模拟的方法思考分析复杂问题.当一眼不能看出问题的规律的时候,我们可以用几个具体的例子来模拟一下问题的过程.这样就和我们在程序出现问题时候的debug一 ...
- 剑指offer(21)栈的压入、探出序列
链接:https://www.nowcoder.com/questionTerminal/d77d11405cc7470d82554cb392585106 思路:借用一个辅助的栈,遍历压栈顺序,先将第 ...
- python 栈的压入弹出序列
| 栈的压入和弹出序列 输入两个整数序列,第一个序列表示栈的压入顺序, 请判断第二个序列是否为该栈的弹出顺序. 假设压入栈的所有数字均不相等. 例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序 ...
- 剑指offer——面试题31:连续子数组的最大和
剑指offer--面试题31:连续子数组的最大和 Solution1: 第一次做这道题.. 讲道理是这是标准的动态规划的题目,可是思路未完全想好. min_element(iterator, iter ...
- 剑指offer——面试题41:和为S的连续整数序列
剑指offer--面试题41:和为S的连续整数序列 Solution1:我的答案 基本思路是根据等差数列的前n项和推导出首项与项数的关系,设首项为a1a1a_1,项数为kkk,和为S" ro ...
最新文章
- ACM基础题 - 求矩形个数
- .NET Core on K8S学习实践系列文章索引(持续更新)
- [HNOIAHOI2018] 转盘(线段树维护单调栈)
- linux mysql 5.6.14_CentOS 6.4下编译安装MySQL 5.6.14
- 敏捷开发需求文档_需求的长期,敏捷文档
- 【设计师配色宝典!教你从零开始学配色】转
- 用友NC报表行数能否配置
- 必装 6 款超神的 GitHub 插件
- 统计用区划和城乡划分代码,在线爬取代码
- PLC十字路口交通灯设计
- 广播地址为什么只能作为目的地址,不能作为源地址?
- 计算机的学情分析报告,计算机教学计划合集总结5篇
- Ubuntu20.04以及Ubuntu18.04修改键盘布局(法语键盘)
- linux限制用户只能访问网站,Linux中限制用户访问权限的3种方法
- 学而思网校怎么查看回放 学而思网校查看回放教程
- 我的世界服务器文件翻译,我的世界server.properties翻译 联机参数设置攻略
- mysql数据库扫描工具_Scuba2019最新免费版|Scuba(数据库扫描工具)官方版下载_v10.0.3_9号软件下载...
- 瓴羊CEO朋新宇:从数据发现问题到数据创造价值|2022全球数字价值峰会-阿里云开发者社区
- 在linux下 用户的密码错误,linux中root用户密码错误如何解决
- uniapp App端后台间隔时间发送定位功能实现
热门文章
- java.util.Collections.synchronizedSet()方法的使用
- 2022-2028年中国食品电商行业投资分析及前景预测报告
- ubuntu 挂载 exfat 格式 U盘 mount:unknown filesystem type ‘exfat‘
- Pandas 基础 (5) —— 处理缺失数据及层次化索引
- 【Intellij IDEA】eclipse项目导入
- 20150411--Dede二次开发-01
- C_str的入门级notes
- linux定时器(crontab)实例
- ecshop /api/client/api.php、/api/client/includes/lib_api.php SQL Injection Vul
- sybase Invalid command line argument 'and'.