剑指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;
    }
}
相关推荐
C++业余爱好者几秒前
.NET线程池ThreadPool.QueueUserWorkItem
java·数据库·.net
.豆鲨包3 分钟前
【Android】Android内存缓存LruCache与DiskLruCache的使用及实现原理
android·java·缓存
superlls3 分钟前
(Java基础)集合框架继承体系
java·开发语言
ad钙奶长高高6 分钟前
【C语言】原码反码补码详解
c语言·开发语言
宋哈哈8 分钟前
页面水印sdk源码
java·前端·javascript
wefg126 分钟前
【数据结构】红黑树
数据结构·算法
饼瑶30 分钟前
基于AutoDL远端服务复现具身智能论文OpenVLA
算法
Mr.Winter`30 分钟前
无人船 | 图解基于MPC控制的路径跟踪算法(以全驱动无人艇WAMV为例)
人工智能·算法·机器人·自动驾驶·ros·路径规划
你不是我我34 分钟前
【Java 开发日记】我们来说一下 Mybatis 的缓存机制
java·spring·mybatis