栈的压入,弹出序列

class Solution {
public:
    bool isPopOrder(vector<int> pushV,vector<int> popV) {
        stack<int> st;
        int n=pushV.size(),m=popV.size();
        if(n!=m)    return false;
        int idx=0;
        for (int i = 0; i < n; i ++ )
        {
            if(!st.empty()&&st.top()==popV[i])
                st.pop();
            else 
            {
                while(idx<n&&popV[i]!=pushV[idx])
                {
                    st.push(pushV[idx]);
                    idx++;
                }
                if(idx==n)  return false;
                idx++;
            }
        }
        return true;
    }
};
posted @   穿过雾的阴霾  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示