剑指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;
    }
}
相关推荐
汉克老师1 分钟前
GESP2025年12月认证C++五级真题与解析(编程题2 (相等序列))
c++·算法·贪心算法·中位数·质数分解
还不秃顶的计科生7 分钟前
python循环中的enumerate用法
开发语言·python
前端小L8 分钟前
双指针专题(九):谁是窗口里的老大?——「滑动窗口最大值」
javascript·算法·双指针与滑动窗口
资生算法程序员_畅想家_剑魔13 分钟前
Java常见技术分享-26-事务安全-锁机制-常见的锁实现
java·开发语言
座山雕~15 分钟前
spring
java·后端·spring
坚持学习前端日记17 分钟前
桌面端与移动端JS桥技术对比及跨平台实现
开发语言·javascript·harmonyos
草原印象17 分钟前
Spring、SpringMVC、Mybatis框架整合实战视频课程
java·spring·mybatis
CAU界编程小白18 分钟前
Linux系统编程系列之模拟文件操作
linux·算法
UP_Continue19 分钟前
C++--可变参数模板和lambda
开发语言·c++
萤虫之光35 分钟前
有序数组中的单一元素(一)
数据结构·算法