剑指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;
    }
}
相关推荐
简简单单lym3 分钟前
WebRTC进阶--red+ulpfec深度解析3-FEC--冗余控制机制深度解析
开发语言·webrtc
cfm_29145 分钟前
RocksDB 初步了解
java
SoftLipaRZC6 分钟前
顺序表的应用:通讯录项目与经典算法实战
算法
8Qi87 分钟前
LeetCode 583. 两个字符串的删除操作
算法·leetcode·职场和发展·动态规划
tigershang11 分钟前
卡尔曼滤波:不确定世界中的最优估计
人工智能·算法·机器学习
凡人叶枫12 分钟前
Effective C++ 条款02:宁可以编译器替换预处理器
java·linux·c语言·开发语言·c++
ANnianStriver14 分钟前
PetLumina 03 — 后端目录重构与 Web 管理后台搭建
java·前端·ai·重构·ai编程·claude code
OnlyEasyCode15 分钟前
C# 发送QQ邮箱验证码or其他
开发语言·c#