LeetCode - 1614 - 括号的最大嵌套深度 - Java

x33g5p2x  于2022-01-09 转载在 Java  
字(0.6k)|赞(0)|评价(0)|浏览(222)

题目

题目解析

首先,朋友们不要被题目吓到了。
简单来说:这题就是让你去求 那个字符 - 它身边的括号最多。
计算 有几个括号 包裹它。
比如:
“( a )”: a 字符,只有一个括号包裹它,所以该字符 的 括号最大嵌套深度为 1
“( ( b ) )” b 字符,有两个括号包裹它,所以该字符 的 括号最大嵌套深度为 2
“( ( ( c ) ) )”c 字符,有三个括号包裹它,所以该字符 的 括号最大嵌套深度为 3

多注意:题目题干 和 示例,你就能看出题目的真实意图:

解题思维

这题我们已经知道它就是计算括号个数的题
难点:如果精确锁定 那个被括号包裹最多的字符。
我的思路:我们直接去遍历字符串,遇到一个 ‘(’ 字符,我们 让count加加一下(整形变量count 【初始值0】 - 用来计算括号嵌套个数)。然后,让count 和 result 比较,取最大值。(整形变量 result - 用来记录 括号的最大嵌套深度 )。

代码如下

class Solution {
    public int maxDepth(String s) {
        int count = 0;
        int result = 0;
        for(int i = 0;i < s.length();i++){
            if(s.charAt(i)== '('){
                count++;
                result = Math.max(result,count);
            }else if(s.charAt(i) == ')'){
                count--;
            }
        }
        return result;
    }
}

相关文章