剑指offer——31.栈的压入、弹出序列(想法不错,比剑指的简单)
题目:
输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)
知识点:
- 无
注意:
- 无
代码实现:
引入辅助栈,按压入顺序一个一个压入辅助栈,压入一个值就与弹出序列比对一次,看有没有符合要求的,符合要求就从从辅助栈弹出,循环再压入弹出,至遍历完压入栈,最后看辅助栈是否为空来判断可否实现 。
/*栈的压入、弹出序列*/
bool IsPopOrder(vector<int> pushV, vector<int> popV) {//特殊情况或边界if (pushV.size() == 0)return false;//定义一个辅助stackvector<int> stack;//将压入的顺序赋值给辅助栈,同时判断是否可以按弹出顺序输出for (int i = 0, j=0; i < pushV.size(); i++)//i:压入序列,j:弹出序列{//压入一个值就判断一次stack.push_back(pushV[i++]);//当栈顶的值与弹出值序列一样时,弹出while (j < popV.size() && popV[j] == stack.back()){stack.pop_back();j++;}}return stack.empty();
}
剑指offer——31.栈的压入、弹出序列(想法不错,比剑指的简单)相关推荐
- 【LeetCode】剑指 Offer 31. 栈的压入、弹出序列
[LeetCode]剑指 Offer 31. 栈的压入.弹出序列 文章目录 [LeetCode]剑指 Offer 31. 栈的压入.弹出序列 package offer;import java.uti ...
- 【剑指offer-Java版】22栈的压入弹出序列
栈的压入弹出序列:给定两个序列,一个是压入顺序,判断另外一个是否是该压入顺序的一个弹出顺序 思路:纯粹的模拟栈的压入和弹出顺序 分别遍历压栈序列seq1和另一个序列seq2 比较当前栈顶元素和seq2 ...
- 剑指Offer 31 栈的压入、弹出序列
栈的压入.弹出序列 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2 ...
- 剑指offer-21.栈的压入弹出序列
1.题目 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压 ...
- 数据结构与算法--举例分析法- 栈的压入弹出序列
举例分析 与上两篇问中画图方法一样,我们可以用举例模拟的方法思考分析复杂问题.当一眼不能看出问题的规律的时候,我们可以用几个具体的例子来模拟一下问题的过程.这样就和我们在程序出现问题时候的debug一 ...
- 剑指offer 31. 栈的压入、弹出序列
声明:本系列博客是对何海涛<剑指offer>的关键点总结. 1.问题描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序. 如第一个输入序列为{1 2 ...
- 剑指 Offer 31. 栈的压入、弹出序列【无取巧,易于理解!】
看题解时,很多大牛用很少的代码就完成了AC,但可能看了很多遍也看不懂,因此萌生了写一种最"笨"最完整的代码的想法,这样大家可以通过我的代码入门,看懂了再去挑战大牛们的简洁解法. 输 ...
- 【算法】剑指 Offer 31. 栈的压入、弹出序列 【重刷】
1.概述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2 ...
- python 栈的压入弹出序列
| 栈的压入和弹出序列 输入两个整数序列,第一个序列表示栈的压入顺序, 请判断第二个序列是否为该栈的弹出顺序. 假设压入栈的所有数字均不相等. 例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序 ...
最新文章
- Linux之父盟友分道扬镳 直言开源模式软肋
- 【JavaWeb】Access restriction The type is not accessible due to restriction on required library
- 最简易的JQUERY折叠菜单 有预览效果
- 厦门诺宝机器人_诺宝机器人编程软件
- 关于代码评审的微博讨论汇集
- Java加密与解密的艺术~RSA实现
- 厉害了 | 一秒切换Hexo中英文,厉害了!!
- 雷军回应小米新 Logo 争议;马化腾排名第 15 位,2021 全球亿万富豪榜出炉!谷歌将停止使用甲骨文的财务软件|极客头条...
- 学习进度(2016.4.10)
- 20145305 《网络对抗》注入Shellcode并执行Return-to-libc 攻击实验
- Ubuntu安装sqlmap
- 基于Springboot+Mybatisplus的学校学院门户学生就业指导管理系统
- 路由器上下行测试软件,无线传输性能测试平台和测试方法
- mysql 定时任务 日志_mysql定时备份任务
- cesium接入天地图影像与注记(经纬度)(cesium篇.70)
- 黑马程序员--安卓22期毕业19天就业50人平均薪资8261
- Android实现新浪微博和QQ登陆并获取用户的信息
- 2048游戏python源代码_python pygame实现2048游戏
- 【爆品】馥兰朵想买找谁?代理能月入过万吗?
- C语言常见问题(10):Sections of code should not be commented out