1614 - Maximum Nesting Depth of the Parentheses
problem
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 <= 100sconsists of digits0-9and characters'+','-','*','/','(', and')'.- It is guaranteed that parentheses expression
sis a VPS.
submission
// simple and straight forward
impl Solution {
pub fn max_depth(s: String) -> i32 {
s.chars()
.scan(0, |depth, ch| {
match ch {
'(' => *depth += 1,
')' => *depth -= 1,
_ => {}
}
Some(*depth)
})
.max()
.unwrap_or_default()
}
}