举例让抽象具体化-面试题22-栈的压入、弹出序列
来源:互联网 发布:旧版淘宝下载安装 编辑:程序博客网 时间:2024/06/05 21:55
题目描述
输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)
解法
我们可以模拟入栈过程和弹出过程,比如4,5,3,2,1
1、压入1,2,3,4,弹出4
2、压入5,弹出5
3、弹出3,
4、弹出2
5、弹出1,全部元素压入,且栈为空,是出栈顺序
比如4,3,5,1,2
1、压入1,2,3,4,弹出4
2、弹出3
3、压入5,弹出5
4、全部元素压入,但是栈不为空,所以不可能是出栈顺序
Code:
class Solution {public: bool IsPopOrder(vector<int> pushV,vector<int> popV) { if(pushV.empty() || popV.empty() || pushV.size()!=popV.size()) return false; stack<int> res; int j=0; for(int i=0;i<pushV.size();i++){ res.push(pushV[i]); while(!res.empty() && res.top()==popV[j]){ j++; res.pop(); } } if(res.empty()) return true; else return false; }};
0 0
- 举例让抽象具体化-面试题22-栈的压入、弹出序列
- 【剑指offer】4.3举例让抽象问题具体化——面试题22:栈的压入、弹出序列
- 剑指offer 22题 【举例让抽象具体化】栈的压入、弹出序列
- 剑指offer:(22)举例让抽象问题具体化 :栈的压入,弹出序列
- 《剑指offer》刷题笔记(举例让抽象具体化):栈的压入、弹出序列
- 举例让抽象具体化-面试题24-二叉搜索树的后序遍历序列
- 栈的压入、弹出序列(面试题 22)
- 面试题22:栈的压入弹出序列
- 面试题22栈的压入、弹出序列
- 面试题22 栈的压入弹出序列
- 面试题22:栈的压入弹出序列
- 面试题22:栈的压入、弹出序列
- 面试题22:栈的压入、弹出序列
- 面试题22 栈的压入、弹出序列
- 面试题22:栈的压入、弹出序列
- 面试题22:栈的压入、弹出序列
- 面试题22栈的压入弹出序列
- 面试题22:栈的压入、弹出序列
- 【数据结构】算法8.2 伙伴系统-分配
- POI写入Excel下拉框[Select选项]
- mvn jetty:run内存溢出解决
- Web框架学习篇--Strust1(一) 原理
- 程序员心里的侥幸
- 举例让抽象具体化-面试题22-栈的压入、弹出序列
- redis 配置‘随手记
- 记录springmvc+ueditor1.4.3上传附件问题
- spring集成ActiveMQ, 消息提供者
- hdu1281棋盘游戏
- spring-boot集成shiro
- Git的下载安装及使用
- spring-boot集成Freemarker开发
- 云计算把Cisco, Dell和HP拍在了沙滩上