字尾表示式求值

2021-10-22 22:38:23 字數 683 閱讀 7709

根據 逆波蘭表示法,求表示式的值。

有效的算符包括 +、-、*、/ 。每個運算物件可以是整數,也可以是另乙個逆波蘭表示式。

說明:整數除法只保留整數部分。

給定逆波蘭表示式總是有效的。換句話說,表示式總會得出有效數值且不存在除數為 0 的情況。

示例 1:

輸入:tokens = [「2」,「1」,"+",「3」,"*"]

輸出:9

解釋:該算式轉化為常見的中綴算術表示式為:((2 + 1) * 3) = 9

逆波蘭:字尾表示式

對於計算機使用乙個棧就能方便的計算結果了,

棧的操作書順序,棧頂是第二運算元

遍歷字尾表示式:如果是數字,就變成int進棧,

如果是操作符:就把棧頂的兩個元素出棧,進行操作,操作結果再進棧

然後接著遍歷整個字尾序列

1、switch的結構,比較的關鍵字是char型別的

string --> char --> int 型別轉換函式

時間o(n)

空間)(n)

class

solution

intevalrpn

(vector

& tokens)

else}}

return res.

top();

}};

字尾表示式求值

字尾表示式求值過程中不需要考慮運算子的優先順序,只需要對該表示式中的每乙個元素進行判斷,若為運算元則將其儲存在乙個陣列裡 入棧 若為運算子則取出前面的兩個運算元 彈棧 並運算,並將運算結果放回該陣列 入棧 最終陣列的最後乙個元素 棧頂元素 即為該表示式的運算結果.如 字尾表示式 23 等價於中綴表示...

字尾表示式求值

題目描述 為了便於處理表示式,常常將普通表示式 稱為中綴表示 轉換為字尾sqstack 順序棧的初始化 status initstack sqstack s 順序棧的入棧 status push sqstack s,selemtype e 演算法3.3 順序棧的出棧 status pop sqsta...

字尾表示式求值

include include include 鏈棧 typedef struct node node typedef struct stack stack 佇列 typedef struct queuenode queuenode typedef struct queue queue 初始化棧 s...