使用tmp查找之前被遍历过得数字,找不到就先前移动一位
bool validateStackSequences(vector<int>& pushed, vector<int>& popped) {
int i=0, j=0, cnt=0;
int n=pushed.size();
while(i<n && j<n) {
if(pushed[i]!=popped[j]) {
i++;
continue;
}
if(pushed[i]==popped[j]) {
pushed[i] = -1;
int tmp = i;
while(tmp>=0 && pushed[tmp]<0) tmp--;
i = tmp>=0?tmp:i+1;
j++;
cnt++;
if(cnt==n) return true;
}
}
return false;
}