题解 | #栈的压入、弹出序列#
栈的压入、弹出序列
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;
}
}; 
