参考资料:
思路:
关键词:
自己的解答:
参考答案:
class Solution {
public:
bool IsPopOrder(vector<int> pushV,vector<int> popV) {
//辅助栈
stack<int> helpStack;
int popVIndex = 0;
//1.遍历压入顺序
for(int i=0;i < pushV.size();i++)
{
helpStack.push(pushV[i]);
//!!!!!!当栈顶为弹出序列中的值。 辅助栈不为空才能pop
while(!helpStack.empty()&& helpStack.top() == popV[popVIndex])
{
//弹出,并指向下一个弹出序列
helpStack.pop();
popVIndex++;
}
}
return helpStack.empty();
}
};