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

JZ31 栈的压入、弹出序列

1.题目解析

题目是让我们判断是否可以完成这个pop。

可以返回true不可以返回false。

2.算法原理

要实现题目的要求,我们只需要模拟栈的push和pop操作即可。如果操作模拟下来栈里面为空,就可以实现,否则就不可以实现。

3.代码实现

#include<iostream>
#include<vector>
#include<algorithm>
#include<stack>
using namespace std;
class Solution {
public:
    bool IsPopOrder(vector<int>& pushV, vector<int>& popV) 
    {
        stack<int> st1;
        int n=0;
        for(int i=0;i<pushV.size() ;i++)
        {
            while (!st1.empty() && st1.top() == popV[n])
{
	st1.pop();
	n++;
}
            st1.push(pushV[i]);
        }
        int ci=st1.size();
        for(int j=0;j<ci;j++)
        {
            if(st1.top()==popV[n])
            {
                st1.pop();
                n++;
            }
        }
        if(st1.empty())
        {
            return true;
        }
        else 
        {
            return false;
        }
        
    }
};

http://www.dtcms.com/a/125724.html

相关文章:

  • 穿透三层内网VPC1
  • 反转链表系列
  • UVa1367/LA3532 Nuclear Plants
  • 第十五届蓝桥杯大赛软件赛省赛Python 大学 B 组试做(下)【本期题单: 缴纳过路费, 纯职业小组】
  • Asp.NET Core WebApi 配置文件
  • 网站集群批量管理-Ansible剧本与变量
  • 什么是生产管理看板?
  • Google Cloud Next 2025大会发布多项重大产品
  • winform读写App.config配置文件
  • 汽车性能的幕后保障:慧通测控电动尾翼综合力学测试浅析
  • c++拷贝构造函数(深浅拷贝)+运算符重载
  • python 语言 设计模式
  • FRP的proxies只是建立通道,相当于建立与服务器沟通的不同通道而不是直接将路由器与服务器云端沟通
  • 深度学习-156-RAG技术之在ubuntu中的安装部署RAGFlow和简单应用
  • 嵌入式---烧录器
  • Vue客服组件集成Dify智能问答:从设计到落地(3)
  • 24.OpenCV中的霍夫直线检测
  • 紧跟政策步伐:道路运输安全员证报名指南​
  • 声学测温度原理解释
  • NeuroImage:膝关节炎如何影响大脑?静态与动态功能网络变化全解析
  • wx213基于php+vue+uniapp的新闻资讯小程序
  • 2025年的Android NDK 快速开发入门
  • cgroups
  • SVMSPro分布式综合安防管理平台--地图赋能智慧指挥调度新高度
  • Linux 线程:从零构建多线程应用:系统化解析线程API与底层设计逻辑
  • 人物4_Japanese
  • ubuntu20.04+qt5.12.8安装serialbus
  • 【Pandas】pandas DataFrame iat
  • 蓝桥杯篇---客观题
  • 学习笔记五——Rust 控制流全解析