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

栈的压入、弹出序列

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

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();
    }
};
全部评论

相关推荐

06-19 12:33
安徽大学 Java
点赞 评论 收藏
分享
鬼迹人途:你去投一投尚游游戏,服务器一面,第一个图算法,做完了给你一个策略题,你给出方案他就提出低概率问题,答不上当场给你挂
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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