C++
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param pushV int整型vector
* @param popV int整型vector
* @return bool布尔型
*/
bool IsPopOrder(vector<int>& pushV, vector<int>& popV) {
// write code here
// !!辅助栈temp,popV下标j
// 1. 访问pushV并记录在tempV中,直至temp.top=popV[j]
// 2. 弹出temp.top,popV下标j++,
// 若与temp.top相等,则继续弹出;否则重复1
// 3. 若遍历完pushV,且temp为空,则true;否则false
int n = pushV.size();
stack<int> temp;
int j = 0; // popV下标
for (int i=0; i<n; i++) {
temp.push(pushV[i]);
while (temp.size() && temp.top()==popV[j]) { // 两个顺序不能换哦
temp.pop();
j++;
}
}
return temp.empty();
}
};
举一反三:



京公网安备 11010502036488号