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

栈的压入、弹出序列

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

这个题还是比较好理解,关键点在使用辅助栈。
题目最重要的信息是栈里的数据是唯一,这样在当前是否需要出栈的时候,可以用相等作为判断条件。
没有这个条件的化,栈里有很多相同的数,题目会很麻烦。需要回溯。

class Solution {
public:
    bool IsPopOrder(vector<int> pushV,vector<int> popV) {
        stack<int> data;
        int j=0;
        for(int i=0;i<pushV.size();i++){
            data.push(pushV[i]);
            while(data.size() > 0 && popV[j]== data.top()){
                data.pop();
                j++;
            }
        }
        return data.empty();
    }
};


全部评论
最后返回时也应该判断j有没有走到头
点赞 回复 分享
发布于 2022-03-02 14:42

相关推荐

昨天 11:16
湖南大学 Web前端
我看到好多人都在说0offer好焦虑,结果一看是投了百度快手字节啥的。好像大家都是只想通过校招进大厂,对小公司是不考虑的吗😂可是能进大厂的难道不是只有少部分人吗,真心发问
梦想是成为七海千秋:沉默的大多数吧,喜欢晒的都是能引起共鸣的大厂,找小厂的人,别人也不认识你这个小厂,就自己偷偷找了实际上大多数人哪有什么机会能找到大厂
点赞 评论 收藏
分享
重生我想学测开:嵌入式的问题,我准备入行京东外卖了
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
11
2
分享

创作者周榜

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