#30203: Java解題思路


a302854888@gmail.com (小麥)


本人解題使用兩個Stack 一個存符號 一個存數字

因此需將數字和符號分開處理

先乘除後加減的部分,需要將符號做權重 +-為1    */%為2,不斷將符號放入Stack,數字也是

由 1 轉換到 2 的時候不計算,最後在處理

由 2 轉換到 1 或者 權重相同(1->1 2->2) 時則計算

計算需用while迴圈往回算,直到上方條件False

 

左括號直接放入符號Stack,並繼續上方的計算

直到右括號時,算式往左方計算,直到遇到左括號,此時需將左括號pop掉

 

 

最後在將未計算完成的算式計算即可,這個地方的計算沒有什麼特別的,因為先乘除後加減與括號問題皆已處理完成