bool validateStackSequences(int* pushed, int pushedSize, int* popped, int poppedSize){
int* arr = (int*)malloc(sizeof(int) * pushedSize);
for(int i = 0; i < poppedSize; i++) arr[i] = 1;
for(int i = 0; i < poppedSize; i++){
while(arr[ind] == 0 || popped[i] != pushed[ind]) {
if(ind == poppedSize) return false;
while(ind > 0 && arr[ind] == 0) ind--;
bool validateStackSequences(int* pushed, int pushedSize, int* popped, int poppedSize){
int* sta = (int*)malloc(sizeof(int) * poppedSize);
for(int i = 0; i < poppedSize; i++){
if(top == -1 || sta[top] != popped[i]){
while(x < poppedSize && pushed[x] != popped[i]){
sta[++top] = pushed[x++];
if(x == poppedSize) return false;
sta[++top] = pushed[x++];
bool validateStackSequences(int* pushed, int pushedSize, int* popped, int poppedSize){
int* sta = (int*)malloc(sizeof(int) * poppedSize);
for (int i = 0; i < poppedSize; i++){
while(top == -1 || sta[top] != popped[i]){
if(x == poppedSize) return false;
sta[++top] = pushed[x++];
bool validateStackSequences(vector<int>& pushed, vector<int>& popped) {
int n = pushed.size(), x = 0;//x代表入栈序列的下标
for(int i = 0; i < n; i++) {
if (s.empty() || s.top() != popped[i]) {
while (x < pushed.size() && pushed[x] != popped[i]) {
if (x == pushed.size()) return false;