剑指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 小时前
多线程同步问题及解决
java·开发语言·jvm
wfsm4 小时前
工厂模式创建动态代理实现类
java·开发语言
好好研究4 小时前
总结SSM设置欢迎页的方式
xml·java·后端·mvc
Hui Baby4 小时前
java -jar 启动原理
java·pycharm·jar
weixin_511255214 小时前
更新jar内资源和代码
java·jar
m0_706653234 小时前
模板编译期排序算法
开发语言·c++·算法
历程里程碑4 小时前
Linxu14 进程一
linux·c语言·开发语言·数据结构·c++·笔记·算法
木井巳4 小时前
【递归算法】验证二叉搜索树
java·算法·leetcode·深度优先·剪枝
不当菜虚困4 小时前
windows下HSDB导出class文件报错【java.io.IOException : 系统找不到指定的路径。】
java·开发语言
lsx2024064 小时前
Vue.js 循环语句
开发语言