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