剑指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;
    }
}
相关推荐
StockTV4 分钟前
SpringBoot对接黄金白银期货数据API
java·spring boot·后端
扶苏xw6 分钟前
【分组背包】
算法·动态规划
李兆龙的博客11 分钟前
从一到无穷大 #68 Agent Memory 全景:大模型智能体记忆机制的形态、动态与前沿
大数据·人工智能·算法
加号314 分钟前
C# 基于MD5实现密码加密功能,附源码
开发语言·c#·密码加密
hsjcjh15 分钟前
窗口函数-详细讲解分析
java·服务器·前端
耿雨飞15 分钟前
Python 后端开发技术博客专栏 | 第 05 篇 Python 数据模型与标准库精选 -- 写出 Pythonic 的代码
开发语言·python
执笔画流年呀28 分钟前
计算机是如何⼯作的
linux·开发语言·python
weixin_5206498730 分钟前
C#闭包知识点详解
开发语言·c#
东北甜妹34 分钟前
Redis Cluster 操作命令
java·开发语言
cwplh34 分钟前
平衡树学习笔记
数据结构·笔记·学习·算法