Loading the journal
Loading the journal
Counter as Implicit Stack
2 recent
Go step by step: try it yourself before the video and the visual. Progress saves on this device.
Community-reported · source · updated 2026-10-08. ● asked in the last 6 months.
Step 1
Know these before you start
Tick what you already know
Watch the concept video if the pattern is new to you.
Step 2
Try it on paper
5–10 minutes, no code yet
Given a valid parentheses string s, return the nesting depth of s — the maximum number of nested parentheses.
Input: s = "(1+(2*3)+((8)/4))+1"
Output: 3
Explanation: Digit 8 is inside 3 nested parentheses.
Input: s = "(1)+((2))+(((3)))"
Output: 3
Input: s = "()(())((()()))"
Output: 3
1 ≤ s.length ≤ 100
s consists of digits 0-9 and characters '+', '-', '*', '/', '(', and ')'
It is guaranteed that s is a valid parentheses string
( → go one level deeper) → come back up one level)Step 6
Get it accepted
All test cases pass
Step 7
Review it so it sticks
Re-solve from memory after
Reading the solution first feels like progress, but it makes the next similar problem — and the interview version — much harder, because you skipped the part where you figure it out. Give it an honest 20–30 minutes. Stuck? Re-read the pattern, watch the concept video, or try the brute force first.
Hidden: approach · solution code · optimal solution