剑指Offer、栈的压入、弹出序列

Problem: 946. 验证栈序列

入栈数组入栈,遇到弹出栈相同元素时弹出,最后判断栈是否为空。特判条件记得特判

Code

Java 复制代码
class Solution {
    public boolean validateStackSequences(int[] pushed, int[] popped) {
        if(pushed.length==0&&pushed.length==popped.length)return true;
        if(pushed.length!=popped.length)return false;
        Stack<Integer>stack=new Stack<>();
        for(int i=0,j=0;i<popped.length;i++)
        {
            while((stack.isEmpty()||popped[i]!=stack.peek())&&j<popped.length)
            {
                stack.push(pushed[j]);
                j++;
            }
            if(stack.peek()==popped[i])stack.pop();

        }
        if(!stack.isEmpty())return false;
        else return true;
    }
}
相关推荐
CoderCodingNo13 小时前
【GESP】C++五级真题(结构体排序考点) luogu-B3968 [GESP202403 五级] 成绩排序
开发语言·c++·算法
想做后端的小C14 小时前
Java:接口回调
java·开发语言·接口回调
浅川.2514 小时前
STL专项:stack 栈
数据结构·stl·stack
爱学习的小可爱卢14 小时前
JavaEE进阶——Spring核心设计模式深度剖析
java·spring·设计模式
毕设源码-钟学长14 小时前
【开题答辩全过程】以 个性化电影推荐网站的设计与实现为例,包含答辩的问题和答案
java·spring boot
C++业余爱好者14 小时前
Power Job 快速搭建 及通信机制介绍
java
YGGP14 小时前
【Golang】LeetCode 32. 最长有效括号
算法·leetcode
麒qiqi14 小时前
理解 Linux IO 多路复用
开发语言·数据库
MediaTea15 小时前
Python:模块 __dict__ 详解
开发语言·前端·数据库·python