剑指offer22 栈的压入、弹出序列
写的一个代码,虽然正确通过了,但我觉得会报vector越界的错误
class Solution {
public:
    bool IsPopOrder(vector<int> pushV,vector<int> popV) {
        int length1 = pushV.size();
        int length2 = popV.size();
        if(length1 <=  || length2 <=  || length1 != length2)
            return false;
        stack<int> sta;
        int current = ;
        for(int i = ;i < length2;i++){
            if(sta.empty()){
                while(pushV[current] != popV[i]){
                    if(current >= length1)
                        return false;
                    sta.push(pushV[current]);
                    current++;
                }
                current++;
            }
            else{
                if(sta.top() == popV[i]){
                    sta.pop();
                }
                else{
                    while(pushV[current] != popV[i]){
                        if(current >= length1)
                            return false;
                        sta.push(pushV[current]);
                        current++;
                    }
                    current++;
                }
            }
        }
        return true;
    }
};
剑指offer22 栈的压入、弹出序列的更多相关文章
- 剑指offer - 栈的压入弹出序列 - JavaScript
		
题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列 1,2,3,4,5 是某栈的压入顺序,序列 4,5,3,2,1 ...
 - 剑指Offer20 栈的压入弹出序列是否正确
		
/************************************************************************* > File Name: 20_IsPopO ...
 - 剑指offer 栈的压入弹出 顺序
		
判断: 如果下一个弹出的数字刚好是栈顶元素,那么直接弹出 如果下一个弹出的数字不在栈顶,我们要把压栈序列中,还没有入栈的数字压入辅助栈,知道把下一个需要弹出的数字压入栈顶 如果所有的数字都入栈,但是仍 ...
 - 【剑指offer】栈的压入弹出序列,C++实现(举例)
		
原创文章,转载请注明出处! 本题牛客网地址 博客文章索引地址 博客文章中代码的github地址 1.题目 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为第一个序列的出栈序列.注意 ...
 - 剑指offer-面试题22.栈的压入,弹出序列
		
题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第 二个序列是否为该栈的弹出顺序.假设压入栈的所有数字均不相等. 例如序列1.2.3.4.5是某栈的压栈序列,序列4.5.3.2.1 是该压栈 ...
 - 剑指Offer 栈的压入、弹出序列
		
题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序 ...
 - 剑指offer——栈的压入、弹出序列
		
题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个栈是否为该栈的弹出顺序.假设压入栈的所有数字都不相等.例如序列1,2,3,4,5是某个栈的压入顺序,序列4,5,3,2,1是该栈序列的一 ...
 - 剑指offer--28.栈的压入、弹出序列
		
时间限制:1秒 空间限制:32768K 热度指数:300132 本题知识点: 栈 算法知识视频讲解 题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假 ...
 - 剑指Offer-21.栈的压入、弹出序列(C++/Java)
		
题目: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈 ...
 
随机推荐
- 用matplotlib画线
			
1:matplotlib基础 Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形[1] . 通过 Matplotlib,开发者可以 ...
 - [Xcode 实际操作]六、媒体与动画-(1)使用图形上下文按一定比例缩放图片
			
目录:[Swift]Xcode实际操作 本文将演示如何通过图形上下文,来实现图片缩放的功能. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKi ...
 - 乐字节-Java8核心特性实战之Stream(流)
			
说起流,我们会想起手机 ,电脑组装流水线,物流仓库商品包装流水线等等.如果把手机 ,电脑,包裹看做最终结果的话,那么加工商品前的各种零部件就可以看做数据源,而中间一系列的加工作业操作,就可以看做流的处 ...
 - 如何在 Laravel 中 “规范” 的开发验证码发送功能
			
什么是ThinkSNS ? ThinkSNS(简称TS),一款全平台综合性社交系统,为国内外大中小企业和创业者提供社会化软件研发及技术解决方案,目前最新版本为ThinkSNS+(简称TS+).Thin ...
 - C 语言实例 - 求两数最小公倍数
			
C 语言实例 - 求两数最小公倍数 用户输入两个数,其这两个数的最小公倍数. 实例 - 使用 while 和 if #include <stdio.h> int main() { int ...
 - vue教程6-图表
			
引入 cnpm install echarts --save #在vue项目目录下安装echarts 静态折线图 linechart.js import echarts from 'echarts' ...
 - python进程之理论
			
********进程理论知识******** ****操作系统背景知识**** 顾名思义,进程及正在执行的一个过程,进程是对正在运行程序的一个抽象. 进程的概念起源于操作系统,是操作系统最核心的概念, ...
 - BZOJ 1977: [BeiJing2010组队]次小生成树 Tree 倍增 最小生成树
			
好吧我太菜了又调了一晚上...QAQ 先跑出最小生成树,标记树边,再用树上倍增的思路,预处理出: f[u][i] :距离u为2^i的祖先 h[u][i][0/1] :距u点在2^i范围内的最长边和次长 ...
 - Codeforces 1152D(dp)
			
要点 寻找最多边的匹配的结论:贪心地从叶子开始找,最后答案都是奇数层下边的那条边. 设\(dp[i][j]\)表示当前长度为\(i\),平衡度为\(j\),平衡度为(数量减去)数量. 增加左右括号转移 ...
 - Hive_Hive的数据模型_桶表
			
对数据进行HASH运算,放在不同文件中,降低热块,提高查询速度. 例如:根据sname进行hash运算存入5个桶中. create table bucket_table(sid int, sname ...