当前位置: 首页 > article >正文

出栈序列的合法性判断

1、核心点

每一个元素入栈后都有出栈/不出栈两种选择。

2、思路

pushed队列依次入栈stk。
stk每入栈一个,对比stk的栈顶元素和poped队列的下一个元素是否相等,一直相等的话就pop出栈stk的元素。
循环直到pushed队列的全部元素都入栈stk。(for循环pushed.size()次)
最后如果stk为空,则合法,否则不合法。

3 代码

bool validateStackSequences(vector<int>& pushed, vector<int>& popped) {
    stack<int> stk;
    int j=0;
    for(int i=0;i<pushed.size();i++){
        stk.push(pushed[i]);
        while(!stk.empty() && stk.top()==popped[j]){
            stk.pop();
            j++;
        }
    }
    return stk.empty();
}

4 题目链接

来自leetcode


http://www.kler.cn/news/359630.html

相关文章:

  • PyCharm借助MobaXterm跳板机连接服务器
  • laydate.laydate.render()开始日期和结束日期选择器互相限制选择值动态生效
  • 了解 ChatGPT 中的公平性问题
  • 基于MATLAB的混沌序列图像加密程序
  • 深入理解计算机系统--计算机系统漫游
  • 专题:数组(已完结)
  • 企业一级流程架构规划方法
  • 如何在Docker中运行Squid
  • 3.Three.js程序基本框架结构和API说明
  • 微软运用欺骗性策略大规模打击网络钓鱼活动
  • 【自用】做完项目怎么使用git仓库进行代码的管理/上传/下载
  • 爬虫学习——26.JS逆向(2)
  • 安装配置sqoop(超详细)
  • 【RabbitMQ】RabbitMQ 的七种工作模式介绍
  • python+大数据+基于Spark的共享单车数据存储系统【内含源码+文档+部署教程】
  • 常见加密算法
  • .net framework 3.5sp1组件如何启动?
  • 口电气设备:认证这道坎,如何跨越才能通全球?
  • 漏洞挖掘JS构造新手向
  • 植物大战僵尸杂交版游戏分享