美文网首页
判断一个出栈序列是否正确

判断一个出栈序列是否正确

作者: simon_kin | 来源:发表于2021-01-31 00:20 被阅读0次

栈是一个很常见的数据结构, 他的特点就是先进后出

思路

解题思路是我们初始化一个栈, 将入栈序列一次循环入栈, 每入一次就判断此时栈顶的元素是不是在出栈序列中,如果是就出栈, 如果不是就继续入栈, 直到所有的元素入栈完毕, 最后判断一开始初始化的这个栈是不是为空

    public static boolean isStack(String[] res,String[] tar){
        // res tar 长度一样
        int len = res.length;
        Stack<String> stack = new Stack<>();
        int index = 0;
        for (int i=0;i<len;i++){
            stack.push(res[i]);
            while (!stack.isEmpty() && stack.peek().equals(tar[index])){
                stack.pop();
                index ++;
            }
        }
        return stack.isEmpty();
    }

相关文章

  • 栈-N946-验证栈序列

    题目 概述:给定一个入栈序列和出栈序列,判断如果以入栈序列的顺序入栈,所给定的出栈序列的顺序是否是合理的 输入:入...

  • 判断一个出栈序列是否正确

    栈 栈是一个很常见的数据结构, 他的特点就是先进后出 思路 解题思路是我们初始化一个栈, 将入栈序列一次循环入栈,...

  • 判断出栈序列是否合法

    题目 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字...

  • 栈有效出栈序列

    给定栈的输入顺序push和输出顺序pop,判断pop序列是否是可能的出栈序列。限定条件:push,pop元素不重复...

  • ACM——栈

    知识点: (原理)所谓栈即只能单进单出的顺序列,对于一串以某种顺序进栈的数列A我们要判断它是否能通过某种序列B出栈...

  • 栈的压入弹出顺序

    题意:条件:给出一个栈的输入序列和一个输出序列问题:你判断输出序列是否合法,即通过输入序列的入栈顺序能否通过出栈操...

  • 31:栈的压入、弹出序列

    题目31:栈的压入、弹出序列 输入两个整数序列,第一个序列表示栈的压入顺序,请判断二个序列是否为该栈的弹出顺序。假...

  • 《剑指offer》(二十一)--栈的压入、弹出序列(java)

    栈的压入、弹出序列 考点:栈 题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该...

  • 判断出栈结果是否正确

    问题描述:对于进栈为顺序为1、2、3、4、5、6 ··· ,下列哪些不可能是栈的弹出顺序? 例如: 判断出栈结果...

  • A1051 Pop Sequence (25分)

    /*题意:1、给一个最大M的栈,给N个数字(1...N),判断给的栈序列栈序列是否合法2、输入,M,N,以及K组 ...

网友评论

      本文标题:判断一个出栈序列是否正确

      本文链接:https://www.haomeiwen.com/subject/ulgqtltx.html