LeetCode 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. 使括号有效的最少添加 | 中等 | 栈 |
本博客所有文章除特别声明外,均采用
CC BY-NC-SA 4.0
许可协议,转载请注明出处!