表示式運算子優先順序演算法。
定義運算子的優先順序
1\2代表前乙個和後乙個運算子。例如+
++在−
-−後面,那麼+
++屬於2
22指示的那個維度。
假設表示式的開頭和結尾有#
\##
1\2+-x
/#+>
>
<
<
>
->
>
<
<
>
x>
>
>
>
>
/>
>
>
>
>
#<
<
<
<
=這個方法適用於所有的表示式。
class solution
case
'-':
case
'*':
case
'/':
}return res;
}int
tonum
(string &str)
return res;
}int
calculate
(string s)
else
if(c>=
'0'&&c<=
'9')
int num=
tonum
(snum)
; s1.
push
(num);if
(i!=s.
size()
)}else
elseif(
(ctop==
'+'||ctop==
'-')
&&(c==
'*'||c==
'/')
)else
s2.push
(c);}}
}int res=s1.
top();
while
(s1.
size()
!=1)return res;}}
;
面試題 16 26 計算器 ( 模擬運算 )
leetcode 面試題 16.26.計算器 模擬運算題。傳統做法使用兩個棧,乙個操作符棧,乙個數棧,然 棧 出棧就好。雙端佇列模擬 有點長。class solution else else tmp a num.add tmp oper.add cs i tmp 0 num.add tmp 最後乙個...
表示式計算器
早在上大學的時候,就想編寫乙個可以計算數學表示式的計算器,因為windowsxp自帶的計算器不支援表示式輸入,當要計算乙個算式時,不太方便。表示式計算器看似簡單,但要想把它做完善,不太容易,經過幾次改進之後,於一年前完成了這個小程式,雖然可能會有一些不足,不過也不打算再投入時間了,價值不大,只是拿來...
各種面試題 簡單表示式計算
給定乙個表示式字串,其中只包含非負整數,加法,減法以及乘法符號,例如7 3 4 5 2 4 3 1。請寫程式計算該表示式的值。還是發現自己一次把程式寫對比較難啊,總是要錯一些用例然後才發現錯誤,然後再糾正。哎 下面基本沒有什麼錯誤檢測。另外注意當前操作為減的時候,下乙個數轉換為負是最好的,不能留著最...