题解 | #栈的压入、弹出序列#

栈的压入、弹出序列

http://www.nowcoder.com/practice/d77d11405cc7470d82554cb392585106

public:
    bool IsPopOrder(vector<int> pushV,vector<int> popV) {
        bool flag=true;
        stack<int> test;
        int i;
        int j=0;
        //使用暴力模拟的算法
        for(i=0;i<=pushV.size()-1;i+=1){
            while(!test.empty()&&test.top()==popV[j]){
                test.pop();
                j+=1;
            }
            
            if(pushV[i]==popV[j]){
                test.push(pushV[i]);
                test.pop();
                j+=1;
            }
            else{
                 test.push(pushV[i]); 
            } 
        }
        
        while(!test.empty()){
            if(test.top()!=popV[j]){
                flag=false;
            }
            test.pop();
            j+=1;
        }
        return flag;
    }
};
全部评论

相关推荐

06-11 17:39
门头沟学院 Java
小呆呆的大鼻涕:卧槽,用户彻底怒了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务