本文主要是介绍【栈】【力扣】括号的最大嵌套深度,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
题目描述
解答(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_depth
end
这篇关于【栈】【力扣】括号的最大嵌套深度的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!