剑指offer 22 栈的压入弹出序列
Posted summerkiki
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer 22 栈的压入弹出序列相关的知识,希望对你有一定的参考价值。
class Solution { public: bool IsPopOrder(vector<int> pushV,vector<int> popV) { bool result=false; int n1=pushV.size(); int n2=popV.size(); if(!n1||!n2) return result; int push_index=0; int pop_index=0; stack<int> s; s.push(pushV[push_index++]); while(pop_index<n2) { while(s.top()!=popV[pop_index]&&push_index<n1) s.push(pushV[push_index++]); if(s.top()==popV[pop_index]) { s.pop(); pop_index++; } else break; } if(pop_index==n2) result=true; return result; } };
*不可以在堆栈为空时,使用s.top()函数,会发生未知!
*要注意边界条件!!
以上是关于剑指offer 22 栈的压入弹出序列的主要内容,如果未能解决你的问题,请参考以下文章