面試題 16 26 計算器 棧,表示式運算

2021-10-21 11:53:13 字數 1113 閱讀 1875

表示式運算子優先順序演算法。

定義運算子的優先順序

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。請寫程式計算該表示式的值。還是發現自己一次把程式寫對比較難啊,總是要錯一些用例然後才發現錯誤,然後再糾正。哎 下面基本沒有什麼錯誤檢測。另外注意當前操作為減的時候,下乙個數轉換為負是最好的,不能留著最...