目录
题目描述
解答(C语言)
解答(c++)
解答(python)
题目描述
给定 有效括号字符串 s,返回 s 的 嵌套深度。嵌套深度是嵌套括号的 最大 数量。
示例 1:
输入:s = "(1+(2*3)+((8)/4))+1"
输出:3
解释:数字 8 在嵌套的 3 层括号中。
示例 2:
输入:s = "(1)+((2))+(((3)))"
输出:3
解释:数字 3 在嵌套的 3 层括号中。
示例 3:
输入:s = "()(())((()()))"
输出:3
提示:
- 1 <= s.length <= 100
- s由数字- 0-9和字符- '+'、- '-'、- '*'、- '/'、- '('、- ')'组成
- 题目数据保证括号字符串 s是 有效的括号字符串
解答(C语言)
#include <string.h>int maxDepth(char* s) 
{size_t len = strlen(s);int maxCount = 0;int count = 0;for (int i = 0; i < len; i++) {if (s[i] == '(') {count++;} else if (s[i] == ')') {if (count > maxCount) {maxCount = count;}count--;}}return maxCount;
}解答(c++)
class Solution {
public:int maxDepth(string s) {int depth = 0, max_depth = 0;for (const char ch : s) {if (ch == '(') {depth++;if (depth > max_depth) {max_depth = depth;}} else if (ch == ')') {depth--;}}return max_depth;}
};解答(python)
class Solution:def maxDepth(self, s: str) -> int:# 统计stack = []depth = 0max_depth = 0for ch in s:if ch == '(':stack.append(ch)depth += 1if depth > max_depth:max_depth = depthelif ch == ')':stack.pop()depth -= 1return max_depthend