剑指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;
    }
}
相关推荐
超级无敌大学霸4 分钟前
c语言算术转换及表达式解析
c语言·开发语言
努力学习的小廉9 分钟前
【QT(八)】—— 常用控件(五)
开发语言·qt
期待のcode9 分钟前
Java虚拟机的垃圾回收器
java·开发语言·jvm·算法
星火开发设计12 分钟前
C++ 分支结构:if-else 与 switch-case 的用法与区别
开发语言·c++·学习·算法·switch·知识·分支
txzrxz14 分钟前
数据结构有关的题目(栈,队列,set和map)
数据结构·c++·笔记·算法··队列
qq_4061761416 分钟前
深耕JS防抖与节流:从原理到工程化实践的全方位指南
开发语言·php
2301_7973122619 分钟前
学习Java40天
java·开发语言·学习
Coder_Boy_20 分钟前
基于SpringAI的在线考试系统-DDD(领域驱动设计)核心概念及落地架构全总结
java·大数据·人工智能·spring boot·架构·ddd·tdd
Two_brushes.21 分钟前
C++ 常见特殊类的设计(含有单例模式)
开发语言·c++
不会c嘎嘎21 分钟前
QT -- 窗口
开发语言·qt