牛客Top200---括号序列(java详解)

Posted 小样5411

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了牛客Top200---括号序列(java详解)相关的知识,希望对你有一定的参考价值。

题目

代码

import java.util.*;

public class Solution {
    public boolean isValid (String s) {
       Stack<Character> stack = new Stack<>();
       //注意"()"和"()[]{}"都是合法的括号序列,但"(]"和"([)]"不合法
        //也就是说括号必须成对出现
        char[] ch = s.toCharArray();
        for(char c : ch){
            if(c == '('){
                stack.push(')');
            }else if(c == '['){
                stack.push(']');
            }else if(c == '{'){
                stack.push('}');
            }else if(stack.isEmpty() || stack.pop() != c){
                return false;
            }
        }
        return stack.isEmpty();//最后应该全部出栈就表示括号能够对上
    }
}

讲解

我们举三个例子就可以知晓上面代码的运行情况了
1、()[}]
2、]()[
3、()[]

分析1:

分析2:

分析3:

以上是关于牛客Top200---括号序列(java详解)的主要内容,如果未能解决你的问题,请参考以下文章

牛客Top200---大数加法(java详解)

牛客Top200---删除链表中倒数第n个结点(java详解)

牛客Top200---最长无重复子数组(java详解)

牛客Top200---链表相加(java详解)

牛客Top200---接雨水问题(java详解)

牛客Top200---链表中的节点每k个一组翻转(java通俗易懂详解)