public:
bool IsPopOrder(vector<int> pushV,vector<int> popV) {
int i=0, j=0;
stack<int>stack1;
while(i<pushV.size()){
if(pushV[i]!=popV[j]){//如果不相等,则进栈
stack1.push(pushV[i]);
i++;
}
else{
//如果两数相等,则两数分别都向后移
i++;j++;
//然后判断此时的栈顶和popV的数是否相等
while(stack1.size()>0&&stack1.top()==popV[j]){
//此时要出栈,popV的元素后移
stack1.pop();
j++;
}
}
}
return stack1.empty();
}
};