224. Basic Calculator

Implement a basic calculator to evaluate a simple expression string.

The expression string may contain open ( and closing parentheses ), the plus + or minus sign -, non-negative integers and empty spaces .

You may assume that the given expression is always valid.

Some examples:

"1 + 1" = 2

" 2-1 + 2 " = 3

"(1+(4+5+2)-3)+(6+8)" = 23


代码:


224. Basic Calculator_第1张图片
参考代码


解题思路:弄两个stack, 一个存结果,一个存符号,遇见 (  就把之前算的结果压栈,然后继续计算,直到遇见 ) 以后,把栈里的 结果 和符号提取出来,与刚算好的数相加,在pop() 堆栈。

你可能感兴趣的:(224. Basic Calculator)