剑指offer:栈的压入弹出顺序
来源:互联网 发布:win10 64位安装mysql 编辑:程序博客网 时间:2024/06/04 18:38
题目描述
输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)
思路:
正常的解题思路,生成一个栈,判断依次出栈顺序中的字符,如果和栈顶字符相等,该字符出栈,否则字符按照入栈顺序继续入栈。
代码:
class Solution {public: bool IsPopOrder(vector<int> pushV,vector<int> popV) { stack<int> num; int n =pushV.size(); if(popV.size()!=n)return false; num.push(pushV[0]); int j=1; for(int i=0;i<n;i++){ while(j<=n){ if(num.top()==popV[i]){//弹出 num.pop(); break; } if(j==n)return false;//运行到这一步可以判断栈不可能为空 num.push(pushV[j]); j++; } } return true; }};
0 0
- 剑指offer:栈的压入弹出顺序
- [剑指offer][面试题22]栈的压入、弹出顺序
- 剑指offer:第22题栈的压入、弹出顺序
- 剑指offer-剑指offer——栈的压入弹出顺序 (两种不错的的解法)
- offer,栈的压入、弹出序列
- 【剑指offer】栈的压入弹出序列
- 剑指offer系列源码-栈的压入、弹出序列
- 剑指offer--栈的压入、弹出序列
- 剑指Offer之 - 栈的压入、弹出序列
- 剑指offer:栈的压入、弹出序列
- 《剑指offer》栈的压入、弹出序列
- 剑指Offer系列---(24)栈的压入、弹出序列
- 栈的压入、弹出序列(剑指offer)
- 剑指 offer:栈的压入、弹出序列
- 【剑指Offer】栈的压入、弹出序列
- 剑指offer—栈的压入、弹出序列
- 剑指offer:栈的压入弹出序列
- 剑指Offer-22-栈的压入、弹出序列
- 【杂物间】
- 看完这几张图,才知道高手怎么玩。用户画像、精准营销不是事儿!
- 如何解决failed to resolve:com.github.bumptech.glide:glide:3.7.0
- 5-1 表达式转换 (25分)
- 08.Play.libs库包
- 剑指offer:栈的压入弹出顺序
- Java 中int、String的类型转换
- Linux Crontab 定时任务
- 小蜜一键重装加密代码
- C++ Primer Chapter 11-1
- Azure 如何从外部ping通VM以及VM之间的互相ping通
- Ceph-设计思想及结构RADOS
- 模板类型的模板参数
- MAC下VMware Fusion虚拟机配置网卡