LeetCode 1614. 括号的最大嵌套深度

题目描述

1614. 括号的最大嵌套深度

思路分析

解法一:计数扫描(推荐)

核心思路

  • 遇到 ‘(‘ 深度加一,遇到 ‘)’ 深度减一。
  • 维护扫描过程中的最大深度。


复杂度分析

  • 时间复杂度:O(n),其中 n 表示字符串长度。
  • 空间复杂度:O(1)。
class Solution {
    public int maxDepth(String s) {
        int depth = 0;
        int best = 0;

        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            if (c == '(') {
                depth++;
                best = Math.max(best, depth);
            } else if (c == ')') {
                depth--;
            }
        }

        return best;
    }
}
func maxDepth(s string) int {
	depth := 0
	best := 0

	for i := 0; i < len(s); i++ {
		if s[i] == '(' {
			depth++
			if depth > best {
				best = depth
			}
		} else if s[i] == ')' {
			depth--
		}
	}

	return best
}

相似题目

题目 难度 考察点
1614. 括号的最大嵌套深度 简单
20. 有效的括号 简单
1021. 删除最外层的括号 简单
856. 括号的分数 中等
921. 使括号有效的最少添加 中等
本文作者:
本文链接: https://hgnulb.github.io/blog/2023/56254924
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处!