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() 堆棧。