class Solution {
public:
bool isPopOrder(vector<int> pushV,vector<int> popV) {
if (pushV.size() != popV.size()) return false;
if (pushV.size() == 0 && popV.size() == 0) return true;
//定义栈
stack<int> stk;
int i = 0;
for (auto x : pushV) {
stk.push(x);
//如果此时栈顶的元素与下一个要输出的元素是相同的, 则将这个元素弹出
while (stk.size() && stk.top() == popV[i]) {
stk.pop();
i ++;
}
}
return stk.empty();
}
};