题解 | #栈的压入、弹出序列#
栈的压入、弹出序列
https://www.nowcoder.com/practice/d77d11405cc7470d82554cb392585106
#include <stack>
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param pushV int整型vector
* @param popV int整型vector
* @return bool布尔型
*/
// 利用辅助栈,用入栈顺序入栈,边入栈变判断是否需要出站,最后判断辅助站还是否有剩余元素
bool IsPopOrder(vector<int>& pushV, vector<int>& popV) {
// write code here
stack<int> temp;
for (int i=0,j=0; i<pushV.size(); i++) {
temp.push(pushV[i]);
while (!temp.empty()&&j<popV.size()&&temp.top()==popV[j]) {
temp.pop();
j++;
}
}
if (!temp.empty()) {
return false;
}
return true;
}
};
