题解 | #栈的压入、弹出序列#
栈的压入、弹出序列
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; } };