【剑指offer】数据结构 ——栈的压入、弹出序列(C++)
2018-04-03 17:39
423 查看
题目描述
输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)
输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列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> arr; for(int i=0,j=0; i<popV.size();i++ ) { while(arr.empty() || popV[i] != arr.top()) { arr.push(pushV[j++]); if(j>pushV.size())return false; } arr.pop(); } return arr.empty(); } };
相关文章推荐
- 剑指offer第二十一题【栈的压入、弹出序列】c++实现
- 剑指offer--面试题22:栈的压入、弹出序列
- (5)剑指Offer之栈变队列和栈的压入、弹出序列
- 【面试题】剑指Offer-22-栈的压入和弹出序列
- 剑指offer面试题22:栈的压入、弹出序列
- 剑指offer-栈的压入、弹出序列
- 剑指offer: 栈的压入、弹出序列
- 剑指offer——面试题22:栈的压入和弹出序列
- 剑指Offer-->栈的压入、弹出序列(★★★★★)
- 【剑指Offer学习】【面试题22:栈的压入、弹出序列】
- 剑指offer——栈的压入、弹出序列
- 剑指offer-栈的压入、弹出序列(标志:++)
- 栈的压入、弹出序列 (剑指Offer 第 20 题)
- 剑指offer之面试题22栈的压入、弹出序列
- 【剑指offer】面试题22:栈的压入、弹出序列
- 【剑指Offer面试题】 九度OJ1366:栈的压入、弹出序列
- 剑指Offer20 栈的压入弹出序列是否正确
- 剑指offer-栈的压入弹出序列
- 剑指offer之面试题22:栈的压入、弹出序列
- 剑指offer---桟的压入、弹出序列