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

【C++算法】69.栈_验证栈序列

文章目录

    • 题目链接:
    • 题目描述:
    • 解法
    • C++ 算法代码:


题目链接:

946. 验证栈序列


题目描述:

fb38c2ffafe9a993e433b7978160ce97


解法

直接用栈来验证栈序列。


C++ 算法代码:

class Solution 
{
public:bool validateStackSequences(vector<int>& pushed, vector<int>& popped) {// 验证栈序列算法// 基本思路:模拟栈的操作,看是否能够按照给定的顺序实现出栈stack<int> st;        // 用栈来模拟入栈和出栈操作int i = 0;            // 当前处理的popped数组的索引int n = popped.size(); // popped数组的长度// 遍历pushed数组中的每个元素for(auto x : pushed){st.push(x);  // 将当前元素入栈// 尝试执行出栈操作:只要栈顶元素等于当前需要出栈的元素,就执行出栈while(st.size() && st.top() == popped[i]){st.pop();  // 弹出栈顶元素i++;       // 移动到popped数组的下一个元素}}// 如果所有元素都能正确出栈,则i应该等于nreturn i == n;}
};

相关文章:

  • BI是什么意思?一文讲清BI的概念与应用!
  • 【C/C++】现代C++线程池:从入门到生产级实现
  • RocketMQ 顺序消息实现原理详解
  • 2.前端汇总
  • 三色光源投影暗战:FSHD 如何撕开 DLP/3LCD 垄断缺口?
  • 计算机科技笔记: 容错计算机设计05 n模冗余系统 双模冗余系统 Duplex Systems
  • AIGC降重工具
  • 逆元(费马,扩展欧几里得)
  • SparkContext介绍
  • Robot Studio开发入门指南
  • Python 数据库编程
  • 进阶知识:自动化框架开发之有参的函数装饰器@wraps()和无参之间的对比
  • Ubuntu软件仓库与更新源配置指南
  • LeetCode 438. 找到字符串中所有字母异位词 | 滑动窗口与字符计数数组解法
  • java 异常验证框架validation,全局异常处理,请求验证
  • Python训练营打卡31
  • 任务分配不均,如何平衡工作负担?
  • Glasgow Smile: 2靶场渗透
  • Java 中 final 与 static 的区别
  • 什么是数据中台
  • 网站域名申请好了怎么建设网站/百度竞价是seo还是sem
  • 如何用ps做网站导航条/百度打广告多少钱一个月
  • 微网站免费/网站建设的推广渠道
  • 建设网站收取广告费用/seo是什么职位的简称
  • 网站产品的详情页怎么做/全渠道营销管理平台
  • ps快速做网站/网络运营课程培训班