1614. Maximum Nesting Depth of the Parentheses
Description
Given a valid parentheses string s
, return the nesting depth of s
. The nesting depth is the maximum number of nested parentheses.
Example 1:
Input: s = "(1+(2*3)+((8)/4))+1"
Output: 3
Explanation:
Digit 8 is inside of 3 nested parentheses in the string.
Example 2:
Input: s = "(1)+((2))+(((3)))"
Output: 3
Explanation:
Digit 3 is inside of 3 nested parentheses in the string.
Example 3:
Input: s = "()(())((()()))"
Output: 3
Constraints:
1 <= s.length <= 100
s
consists of digits0-9
and characters'+'
,'-'
,'*'
,'/'
,'('
, and')'
.- It is guaranteed that parentheses expression
s
is a VPS.
Solutions
Solution 1: Traversal
We use a variable \(d\) to record the current depth, initially \(d = 0\).
Traverse the string \(s\). When encountering a left parenthesis, increment the depth \(d\) by one and update the answer to be the maximum of the current depth \(d\) and the answer. When encountering a right parenthesis, decrement the depth \(d\) by one.
Finally, return the answer.
The time complexity is \(O(n)\), where \(n\) is the length of the string \(s\). The space complexity is \(O(1)\).
1 2 3 4 5 6 7 8 9 10 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
1 2 3 4 5 6 7 8 9 10 11 12 |
|
1 2 3 4 5 6 7 8 9 10 11 12 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|