Learn
Practice
Interview
Resources
Newsletter
F
Toggle theme
0
F
0
Toggle menu
Animations
← Back to All Animations
Valid Parenthesis String
Bookmark
Brute Force
Memoization
Greedy
Input
Valid 1
Valid 2
Valid 3
Invalid
Custom
s
=
(*))
(
*
)
)
0
1
2
3
(
*
)
)
0
1
2
3
(
*
)
)
0
1
2
3
open =
0
Start the depth-first search
(
*
)
)
0
1
2
3
i
open =
0
dfs(i = 0, open = 0)
(
*
)
)
0
1
2
3
i
open =
1
dfs(i = 1, open = 1)
(
*
(
)
)
0
1
2
3
i
open =
1
Try '*' as '('
(
*
(
)
)
0
1
2
3
i
open =
2
dfs(i = 2, open = 2)
(
*
(
)
)
0
1
2
3
i
open =
1
dfs(i = 3, open = 1)
(
*
(
)
)
0
1
2
3
i
open =
1
dfs(i = 3, open = 1)
(
*
(
)
)
0
1
2
3
open =
0
End reached with open = 0, balanced!
(
*
(
)
)
0
1
2
3
return
true
algo
master
.
io
Step:
Try every meaning of each '*' ('(', ')', or empty).
0 / 12
Input
Valid 1
Valid 2
Valid 3
Invalid
Custom
s
=
(*))
0 / 12
algo
master
.
io
Step:
Try every meaning of each '*' ('(', ')', or empty).