Skip to content

Commit e24befc

Browse files
authored
Create Readme.md
1 parent b523b24 commit e24befc

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
### 224.Basic-Calculator
2+
3+
典型的栈的应用。需要设置两个栈
4+
```cpp
5+
stack<int>nums;
6+
stack<int>sign;
7+
```
8+
nums用来存储数值,sign用来存储符号。这里需要有个小技巧,在字符串最开始添加一个+入栈,遇到'('也添加一个+入栈,这样保证每个数字(和小括号产生的中间结果)都在sign中有一个对应的符号位。
9+
10+
具体的算法是:遇到'('就将当前结果curResult入栈并清零。遇到')'就将当前结果与sign的栈顶元素结合形成新数(然后sign退栈),并加上nums的栈顶元素结合形成新数(然后nums退栈)。遇到符号就加入sign的栈。遇到纯数字就取出sign的栈顶元素结合

0 commit comments

Comments
 (0)