题目

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

解答

一开始我还搞不懂题目的意思,以为只能有一种出栈方式。其实1压栈后可以立即出栈,不需要全部压栈后在出栈。
用栈模拟就行了

class Solution {public:bool IsPopOrder(vector<int> pushV,vector<int> popV) {int n = pushV.size(), j = 0;stack<int> S;for(int i = 0; i < n; i++){S.push(pushV[i]);while(!S.empty() && S.top() == popV[j]){S.pop();j++;}}return S.empty() == true;}
};

21. 栈的压入、弹出序列相关推荐

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

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

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

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

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

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

  4. python 栈的压入弹出序列

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

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

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

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

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

  7. 剑指Offer(Java实现)栈的压入、弹出序列

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

  8. 剑指Offer--022-栈的压入、弹出序列

    链接 牛客OJ:栈的压入.弹出序列 九度OJ:http://ac.jobdu.com/problem.php?pid=1366 GitHub代码: 022-栈的压入弹出序列 CSDN题解:剑指Offe ...

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

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

最新文章

  1. 《数据科学:R语言实现》——2.5 使用Excel文件
  2. linux 内核参数 rss,Linux控制内存的内核参数
  3. Centos系统搭建LAMP
  4. ASP.NET Redis 开发
  5. 通用计算机有哪四个部分,计算机硬件由哪几部分组成?各部分的作用是什么?...
  6. 玩转12306之系统登录
  7. SQL强化(二) 在Oracle 中写代码
  8. 河海大学计算机与信息学院 王晶晶,信息学部 计算机与信息学院
  9. 95-130-022-源码-source-基于socket的source源码分析SocketTextStreamFunction
  10. mysql 1129 错误Host is blocked because of many connection errors; unblock with 'mysqladmin flush-host
  11. [网络安全自学篇] 六十二.PE文件逆向之PE文件解析、PE编辑工具使用和PE结构修改(三)
  12. Android端测试工具有哪些,android移动app测试几款移动端测试工具分享
  13. 【git及GitHub使用总结】(一)
  14. SunlightCoin简介——SunlightCoin 人人都是矿工
  15. PCB layout常用走线线宽选择参考
  16. win10切换输入法快捷键_Win10发布四年,这30个技巧还有很多人不知道!
  17. 写给程序员的数理科普:混沌与三体
  18. PE保温管申请M1测试是根据NFP 92-507测试吗?
  19. 【程序源代码】见缝插针游戏
  20. 八骏登场 学子圆梦 一卷在手 良师益友

热门文章

  1. ajax中设置请求头和自定义请求头
  2. python作用域(scope)(三分钟读懂)
  3. excel多列多行堆叠成多列一行_「Excel技巧」如何利用indirect函数快速将一列转为多行多列排版...
  4. python执行txt中代码_【技术分享】文件解压之过 Python中的代码执行
  5. Find a way BFS
  6. 算法导论 练习10.4-5二叉树的遍历
  7. 保存一个 Python 对象,之后使用时直接读取
  8. 《深度学习笔记》——“损失函数loss乘以正数因子a是否等价于学习率lr乘以a呢?”
  9. Python之Numpy常用操作
  10. Java字符串拼接“+”需要注意的问题