jz31专题

【剑指offr--C/C++】JZ31 栈的压入、弹出序列

一、题目 二、思路及代码 借助一个辅助栈来模拟入栈过程, ①在入栈之前先判断当前要入栈的元素是否与出栈数组当前元素相同, ② 如果不相同就入栈; ③如果相同就不用入栈了(不入栈=出栈),然后再依次取出栈的栈顶元素看是否与出栈数组当前值相同,相同的话就依次出栈,知道不再相等或者全部出栈; ④若入栈元素还没有遍历完,就继续重复前三个步骤 class Solution {public:/

【刷题训练】牛客:JZ31 栈的压入、弹出序列

文章目录 一、题目要求二、解题思路三、C++代码四、注意点五、运行成功 一、题目要求 二、解题思路 题意解读。本道题给定了两个序列pushV和popV,其中序列pushV是入栈顺序,popV是出栈顺序。问题就是让我们去判断这个popV的顺序是否可能是pushV的弹出顺序。 我的思路是: 1.创建一个栈st,然后依照pushV的顺序依次压栈,每次压入一个,就去判断压入的这个元

【栈队列堆】【打卡81天】《剑指Offer》2刷:JZ31 栈的压入、弹出序列

1、题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。 1.0<=pushV.length == popV.length <=1000 2.-1000<=pushV[i