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

栈的压入、弹出序列

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

class Solution {
public:
    bool IsPopOrder(vector<int> pushV,vector<int> popV) {
        if(pushV.empty()||popV.empty())
            return false;
        if(pushV.size()!=popV.size())
            return false;

        stack<int> s1;
        int j=0;

        for(int i=0;i!=popV.size();)
        {

             do
             {
                   if(!s1.empty()&&popV[i]==s1.top()||j==pushV.size())
                     break;                     
                    s1.push(pushV[j]);
                    ++j;

             }while(j!=pushV.size()&&popV[i]!=s1.top());



            if(popV[i]==s1.top())
            {
                ++i;
                s1.pop();
            }else
                return false;


        }

        return true;
    }
};
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-02 18:35
简历上把1个月实习写成了3个月,会进行背调吗?
码农索隆:一个月有一个月的实习经历,三个月有三个月的实习经历
点赞 评论 收藏
分享
仁者伍敌:牛子这些人还会点一个自动回复,boss都不带回复的
点赞 评论 收藏
分享
码农索隆:想看offer细节
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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