思路1:使用栈来模拟出栈与入栈;入栈后判断出栈序列与当前栈顶元素是否相同,若相同则出栈并且继续判断,否则继续入栈;最后判断栈是否为空即可
class Solution {
public:
bool IsPopOrder(vector<int> pushV,vector<int> popV) {
stack<int> mystack;
int j=0;
for(int i=0;i<pushV.size();i++)
{
mystack.push(pushV[i]);
if(mystack.top()==popV[j])
{
mystack.pop();
j++;
while(!mystack.empty()&&mystack.top()==popV[j])
{
mystack.pop();
j++;
}
}
}
if(mystack.empty())
return true;
else
return false;
}
};