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

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

作者: 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();
        }
    

    相关文章

      网友评论

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

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