Skip to content

括号的最大嵌套深度

LeetCode-1614

js
// 解法一 正则
var maxDepth = function(s) {
  s = s.replace(/[^()]/g, '') // 替换掉所有无关字符
  let res = 0
  while(s.length) {
    s = s.replace(/\(\)/g, '') // 每轮循环剔除一层
    res++
  }
  return res // 返回结果
}
js
// 解法二
// 参考:https://leetcode-cn.com/problems/maximum-nesting-depth-of-the-parentheses/solution/dai-ma-jian-ji-zhuan-hua-wen-ti-mo-ni-ji-kkiu/
// ((())) (())
var maxDepth = function(s) {
  let res = 0, deep = 0
  for(let str of s) {
    if(str === '(') {
      deep++ // 深度+1
      res = Math.max(res, deep) // 取每组括号的最大深度
    } else if(str === ')') {
      deep-- // 深度-1
    }
  }
  return res
}