Maximum Nesting Depth of the Parentheses

easy string stack counter

Problem

Given a valid parentheses string s, return the maximum nesting depth of any pair of parentheses.

Inputs = "(1+(2*3)+((8)/4))+1"
Output3
Inner '8' is enclosed by three open parens.

def max_depth(s):
    cur = best = 0
    for c in s:
        if c == '(':
            cur += 1
            best = max(best, cur)
        elif c == ')':
            cur -= 1
    return best
function maxDepth(s) {
  let cur = 0, best = 0;
  for (const c of s) {
    if (c === '(') { cur++; if (cur > best) best = cur; }
    else if (c === ')') cur--;
  }
  return best;
}
class Solution {
    public int maxDepth(String s) {
        int cur = 0, best = 0;
        for (char c : s.toCharArray()) {
            if (c == '(') { cur++; best = Math.max(best, cur); }
            else if (c == ')') cur--;
        }
        return best;
    }
}
int maxDepth(string s) {
    int cur = 0, best = 0;
    for (char c : s) {
        if (c == '(') { cur++; best = max(best, cur); }
        else if (c == ')') cur--;
    }
    return best;
}
Time: O(n) Space: O(1)