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

LeetCode——栈的压入、弹出序列

在这里插入图片描述
这里我用下面的例子子来讲解一下模拟栈的实现
例子1:pushed = [1,2,3,4,5] popped = [4,5,3,2,1]
思路:第一步:我们先创建一个栈,然后将pushed的数据压进去

第二步:判断! 当压入栈的数据和popped第一个数据一样的时候,我们就出数据。ps:这时可以用一个posi来记录要比较的数据

第三步:最后判断栈是否为空,为空就true,否则则false

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下面是源码:

class Solution {
public:bool validateStackSequences(vector<int>& pushed, vector<int>& popped) {stack<int> st;int posi = 0;for(auto pushval : pushed){st.push(pushval);while(!st.empty() && st.top() == popped[posi]){st.pop();++posi;}}return st.empty();}
}; 
http://www.lryc.cn/news/148888.html

相关文章:

  • Flutter 逆向安全
  • 【微服务部署】01-Kubernetes部署流程
  • SPI3+DMA外设驱动-TFTLCD初始化
  • 通过chatgpt 学习React的useEffect
  • rabbitMq介绍及使用
  • rabbitmq载在.net中批量消费的问题记录
  • 【RPC 协议】序列化与反序列化 | lua-cjson | lua-protobuf
  • Flutter的Timer类
  • Chrome小恐龙快跑小游戏——Python实现
  • Web网站服务器
  • Docker consul 容器服务自动发现和更新
  • CentOS 8 执行yum命令报错:Failed to set locale, defaulting to C.UTF-8
  • 8. 损失函数与反向传播
  • Angular安全专辑之四 —— 避免服务端可能的资源耗尽(NodeJS)
  • Servlet学习总结(Request请求与转发,Response响应,Servlet生命周期、体系结构、执行流程等...)
  • 雅思写作 三小时浓缩学习顾家北 笔记总结(二)
  • Element Plus 日期选择器的使用和属性
  • 中国五百强企业用泛微为合同加速,提升数字化办公水平
  • Vue3 QRCode生成
  • 2023年8月随笔之有顾忌了
  • 正中优配:红筹股是啥意思?
  • 《Linux从练气到飞升》No.19 进程等待
  • OpenCV
  • hadoop解决数据倾斜的方法
  • 打造坚不可摧的代码堡垒 - 搭建GitLab私有仓库完全指南
  • linux把文件压缩/解压成.tar.gz/tar/tgz等格式的命令大全
  • 用户角色权限demo后续出现问题和解决
  • SpringBoot在IDEA里实现热部署
  • 浅谈Linux中的mkdir -p
  • 设计模式—职责链模式(Chain of Responsibility)