class Solution {

public:

    bool IsPopOrder(vector<intpushV,vector<intpopV) {

        int i=0,j=0,flag=1;  //没有借助辅助栈  flag用来判断输出结果

        while(1){          //i作为pushV的下标,j作为popV的下标

            if(popV[j]!=pushV[i]){         //只要没到达出栈的第一个元素,i就增加,表示指向当前栈顶元素

                i++;

                while(pushV[i]==10000&&i<pushV.size()) i++;

                if(i==pushV.size()){      

                    break;

                }

            }

            if(popV[j]==pushV[i]){    //碰到出栈的元素,就置pushV种对应为10000表示已出栈

                pushV[i]=10000;

                j++;

                while(pushV[i]==10000&&i>0) i--;      //退回到当前栈顶元素开始判断

            }

        }

        for(int k=0;k<pushV.size();k++){

            if(pushV[k]!=10000) flag=0;

        }

        if(flag==0return false;

        else return true;

    }

};