C++常规思路 借用栈结构模拟一遍

栈的压入、弹出序列

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

脑子怎么思考这里就怎么写 按照所给的入栈序列操作遍历入栈 如遇到栈顶的元素和出栈序列的当前元素相等时 则弹出栈顶元素且出栈序列的当前位置往后移动 入栈序列遍历完毕 如果栈为空且出栈序列也遍历完毕 则是该压栈序列的弹出序列,其他情况皆不是。

class Solution {
public:
    bool IsPopOrder(vector<int> pushV,vector<int> popV) {
        stack<int>s;
        int pos=0;
        for(int i=0;i<pushV.size();i++)
        {
                s.push(pushV[i]);
            while(pos<popV.size()&&s.top()==popV[pos])
            {
                    s.pop();
                    pos++;
            }
        }
        return (pos==popV.size()&&s.empty())?true:false;
    }
};
全部评论

相关推荐

不愿透露姓名的神秘牛友
11-26 15:46
已编辑
字节国际 电商后端 24k-35k
点赞 评论 收藏
分享
10-13 17:47
门头沟学院 Java
wulala.god:图一那个善我面过,老板网上找的题库面的
点赞 评论 收藏
分享
牛客737698141号:他们可以看到在线简历的。。。估计不合适直接就拒了
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务