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