是否是栈的弹出序列

栈的压入、弹出序列

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

class Solution {
public:
    bool IsPopOrder(vector<int> pushV,vector<int> popV) {
        stack<int> st;//用栈模拟入栈过程
        int i=0,j=0;
        while(j<popV.size()){//对pop序列进行查找
            if(!st.empty()&&st.top()==popV[j]){
                st.pop();
            }else if(i<pushV.size()){
                while(i<pushV.size()&&pushV[i]!=popV[j]){
                    st.push(pushV[i++]);
                }
                if(i==pushV.size())return false;
                i++;
            }else{
                return false;
            }j++;
        }return true;
    }
};
全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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