Learn
Practice
Interview
Resources
Newsletter
F
Toggle theme
0
F
0
Toggle menu
Animations
← Back to All Animations
Basic Calculator
Bookmark
Running Stack
Recursion
Sign Stack
Input
Simple Add
Mixed Ops
Nested Parens
Leading Neg
Custom
s
=
1 + 1
1
0
·
1
+
2
·
3
1
4
result =
0
sign =
+1
num =
0
stack (saved result, sign)
empty
1
0
·
1
+
2
·
3
1
4
result =
0
sign =
+1
num =
0
stack (saved result, sign)
empty
1
0
·
1
+
2
·
3
1
4
result =
0
sign =
+1
num =
0
stack (saved result, sign)
empty
1
0
·
1
+
2
·
3
1
4
i
result =
0
sign =
+1
num =
1
stack (saved result, sign)
empty
build number:
1
1
0
·
1
+
2
·
3
1
4
i
result =
0
sign =
+1
num =
1
stack (saved result, sign)
empty
space, skip
1
0
·
1
+
2
·
3
1
4
i
result =
1
sign =
+1
num =
0
stack (saved result, sign)
empty
result +=
+1
× num →
1
1
0
·
1
+
2
·
3
1
4
i
result =
1
sign =
+1
num =
0
stack (saved result, sign)
empty
'+'
sets sign =
+1
1
0
·
1
+
2
·
3
1
4
i
result =
1
sign =
+1
num =
0
stack (saved result, sign)
empty
space, skip
1
0
·
1
+
2
·
3
1
4
i
result =
1
sign =
+1
num =
1
stack (saved result, sign)
empty
build number:
1
1
0
·
1
+
2
·
3
1
4
i
result =
2
sign =
+1
num =
0
stack (saved result, sign)
empty
result +=
+1
× num →
2
1
0
·
1
+
2
·
3
1
4
result =
2
stack (saved result, sign)
empty
return
2
algo
master
.
io
Step:
Keep a running result and a stack of (result, sign) saved at each '('.
0 / 9
Input
Simple Add
Mixed Ops
Nested Parens
Leading Neg
Custom
s
=
1 + 1
0 / 9
algo
master
.
io
Step:
Keep a running result and a stack of (result, sign) saved at each '('.