题解 | #栈的压入、弹出序列#
栈的压入、弹出序列
http://www.nowcoder.com/practice/d77d11405cc7470d82554cb392585106
class Solution { public: bool IsPopOrder(vector<int> pushV,vector<int> popV) { if(pushV.empty()||popV.empty()) return false; if(pushV.size()!=popV.size()) return false; stack<int> s1; int j=0; for(int i=0;i!=popV.size();) { do { if(!s1.empty()&&popV[i]==s1.top()||j==pushV.size()) break; s1.push(pushV[j]); ++j; }while(j!=pushV.size()&&popV[i]!=s1.top()); if(popV[i]==s1.top()) { ++i; s1.pop(); }else return false; } return true; } };