public:
    bool IsPopOrder(vector<int> pushV,vector<int> popV) {
        int i=0, j=0;
        stack<int>stack1;
        while(i<pushV.size()){
            if(pushV[i]!=popV[j]){//如果不相等,则进栈
                stack1.push(pushV[i]);
                i++;
            }
            else{
                //如果两数相等,则两数分别都向后移
                i++;j++;
                //然后判断此时的栈顶和popV的数是否相等
                while(stack1.size()>0&&stack1.top()==popV[j]){
                    //此时要出栈,popV的元素后移
                    stack1.pop();
                    j++;
                    
                }
                    
        }
            
    }
        return stack1.empty();
    }
};