随笔 - 165,  文章 - 0,  评论 - 4,  阅读 - 18023

题目:

class Solution {
public:
    bool validateStackSequences(vector<int>& pushed, vector<int>& popped) {      //模拟,pushed里的每一个元素都必定经过入栈和出栈的操作。
        stack<int> st;
        for(int i=0,j=0;i<pushed.size();i++){           //遍历pushed数组,每一个元素都进行一次入栈操作
            st.push(pushed[i]);
            while(!st.empty()&&st.top()==popped[j]){    //循环判断当前栈顶元素是否出栈。栈不为空且当前popped元素与栈顶元素相等时进行出栈操作,否则继续入栈。
                st.pop();                               //st.pop()和j++相当于两个数组同时出栈
                j++;
            }                                           //若无法出栈,则继续入栈
        }
        return st.empty();                              //最后栈为空才是正常的   
    }
};

以上代码转自力扣官方题解

posted on   孜孜不倦fly  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示