Learn
Practice
Interview
Resources
Newsletter
F
Toggle theme
0
F
0
Toggle menu
Animations
← Back to All Animations
Validate Stack Sequences
Bookmark
Brute Force
Greedy Stack
In-Place
Input
Valid
Invalid
Pop immediately
Custom
pushed
=
[1, 2, 3, 4, 5]
,
popped
=
[4, 5, 3, 2, 1]
pushed
stack
popped
1
0
2
1
3
2
4
3
5
4
empty
4
0
5
1
3
2
2
3
1
4
pushed
stack
popped
1
0
2
1
3
2
4
3
5
4
empty
4
0
5
1
3
2
2
3
1
4
pushed
stack
popped
1
0
2
1
3
2
4
3
5
4
i
1
4
0
5
1
3
2
2
3
1
4
popIdx
push
1
onto the stack
pushed
stack
popped
1
0
2
1
3
2
4
3
5
4
i
1
2
3
4
0
5
1
3
2
2
3
1
4
popIdx
push
3
onto the stack
pushed
stack
popped
1
0
2
1
3
2
4
3
5
4
i
1
2
3
4
4
0
5
1
3
2
2
3
1
4
popIdx
top
4
== need
4
→ pop it
pushed
stack
popped
1
0
2
1
3
2
4
3
5
4
1
2
3
5
4
0
5
1
3
2
2
3
1
4
popIdx
push
5
onto the stack
pushed
stack
popped
1
0
2
1
3
2
4
3
5
4
1
2
3
5
4
0
5
1
3
2
2
3
1
4
popIdx
top
3
== need
3
→ pop it
pushed
stack
popped
1
0
2
1
3
2
4
3
5
4
1
2
3
4
0
5
1
3
2
2
3
1
4
popIdx
top
2
== need
2
→ pop it
pushed
stack
popped
1
0
2
1
3
2
4
3
5
4
1
2
4
0
5
1
3
2
2
3
1
4
popIdx
top
1
== need
1
→ pop it
pushed
stack
popped
1
0
2
1
3
2
4
3
5
4
empty
4
0
5
1
3
2
2
3
1
4
pushed
stack
popped
1
0
2
1
3
2
4
3
5
4
empty
4
0
5
1
3
2
2
3
1
4
return true
(valid)
algo
master
.
io
Step:
Try every interleaving of pushes and pops with backtracking.
0 / 19
Input
Valid
Invalid
Pop immediately
Custom
pushed
=
[1, 2, 3, 4, 5]
,
popped
=
[4, 5, 3, 2, 1]
0 / 19
algo
master
.
io
Step:
Try every interleaving of pushes and pops with backtracking.