[Leet Code] Maximum Nesting Depth of the Parentheses

  • It is an empty string "", or a single character not equal to "(" or ")",
  • It can be written as AB (A concatenated with B), where A and B are VPS's, or
  • It can be written as (A), where A is a VPS.
  • depth("") = 0
  • depth(C) = 0, where C is a string with a single character not equal to "(" or ")".
  • depth(A + B) = max(depth(A), depth(B)), where A and B are VPS's.
  • depth("(" + A + ")") = 1 + depth(A), where A is a VPS.
Input: s = "(1+(2*3)+((8)/4))+1"
Output: 3
Explanation: Digit 8 is inside of 3 nested parentheses in the string.
Input: s = "(1)+((2))+(((3)))"
Output: 3
Input: s = "1+(2*3)/(2-1)"
Output: 1
Input: s = "1"
Output: 0
class Solution(object):
def maxDepth(self, s):
"""
:type s: str
:rtype: int
"""
stack = []
max_val = 0
for i in s:
if i == "(":
stack.append(i)
if i == ")":
stack.pop()
length = len(stack)
if length > max_val:
max_val = length
return max_val

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Matthew Boyd

Matthew Boyd

Learning, and posting my findings!