Valid stack pop sequence
valid stack pop sequence
In fact a very simple simulation.
Just try to pop as many elements as possible after each push.
class Solution {
public:
bool validateStackSequences(vector<int>& pushed, vector<int>& popped) {
stack<int> s;
int j = 0;
for (int i = 0; i < pushed.size(); i++) {
s.push(pushed[i]);
while (!s.empty() && s.top() == popped[j]) {
s.pop();
j++;
}
}
return s.empty();
}
};