个人觉得 还是我写的比剑指offer的好看 嘻嘻
class Solution {
public:
stack<int>s1;
stack<int>s2;
bool IsPopOrder(vector<int> pushV,vector<int> popV) {
int i;
for (i = 0; i < pushV.size(); i ++) {
// printf("pushV[i]=%d,popV=%d\n",pushV[i],popV[0]);
if (pushV[i] != popV[0]) {
s1.push(pushV[i]);
} else {
i ++;
break;
}
}
int posV = 1;
while((s1.size() >0 || i < pushV.size()) && posV < popV.size()) {
//printf("#:");
if (s1.size() > 0 && s1.top() == popV[posV]) {
s1.pop();
posV++;
} else if (i < pushV.size() && pushV[i] == popV[posV]) {
posV ++;
i++;
} else {
if (i < pushV.size()) {
s1.push(pushV[i++]);
} else {
return false;
}
}
}
if (s1.size() == 0 && i == pushV.size() && posV == pushV.size())
return true;
return false;
}
};