剑指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;
    }
}
相关推荐
倒流时光三十年2 分钟前
Logback 系列(3):三大核心组件 Logger / Appender / Encoder
java·开发语言·logback
什巳10 分钟前
JAVA练习312- 二叉搜索树中第 K 小的元素
java·数据结构·算法·leetcode
froyoisle20 分钟前
CSP 真题解析:[CSP-J 2020-T3] 表达式
c++·算法·csp·信息学·信奥赛
geats人山人海23 分钟前
算法好题 2026.7.18
算法
Darkwanderor29 分钟前
动、静态库相关内容的详细介绍
linux·c语言·开发语言·c++
文祐32 分钟前
C++类之虚函数表没有虚继承的菱形继承
开发语言·c++·算法
Lumos18641 分钟前
51单片机从零到实战(8)——串口通信
算法
倒流时光三十年1 小时前
Logback 系列(7):常用 Appender(控制台 / 文件 / 滚动文件)
java·前端·logback
sycmancia1 小时前
Qt——另一种创建线程的方式
开发语言·qt
极客先躯1 小时前
高级java每日一道面试题-2026年04月18日-实战篇[Docker]-如何处理金融行业的时序数据容器化?
java·运维·docker·容器·金融·时序数据·高级面试