LINTCODE 表示式求值

2021-08-09 10:54:08 字數 830 閱讀 3560

lintcode——表示式求值

前期準備:

首先我們得要了解字首、中綴、字尾表示式分別是什麼,然後計算方法是什麼

舉例:

(3 + 4) × 5 - 6 就是中綴表示式

- × + 3 4 5 6 字首表示式

3 4 + 5 × 6 - 字尾表示式

說簡單點就是運算子的位置,在前的話就是字首,以此類推;

詳細了解:

對於計算機來說,中綴表示式是相當複雜的,所以我們為了他簡化問題,那麼就可以理解為,這套題目考的就是由中綴表示式轉換成字首或者字尾表示式求值,話不多說,直接上**。

我把中綴轉字首和字尾的**都寫了,不過最後計算使用字首表示式計算的,感興趣的自己算字尾表示式的值;

class solution 

}return res.empty()? 0 : res.top();

}vector

begine(vector

&stemp)

s.pop();

}else

else}}

}while(!s.empty())

return sbegin;

}vector

ende(vector

&stemp)

s.pop();

}else

else}}

}return send;

}int cmp(string a)

}int acl(int a , string x, int b)

}};

表示式求值 LintCode

給乙個用字串表示的表示式陣列,求出這個表示式的值。示例 對於表示式 2 6 23 7 1 2 對應的陣列為 2 6 23 7 1 2 其值為 2 思想 還是先構造字尾表示式,再利用字尾表示式進行求值。ifndef c368 h define c368 h include include includ...

Lintcode 逆波蘭表示式求值

求逆波蘭表示式的值。在逆波蘭表達法中,其有效的運算符號包括 每個運算物件可以是整數,也可以是另乙個逆波蘭計數表達。您在真實的面試中是否遇到過這個題?yes 樣例 2 1 3 2 1 3 9 4 13 5 4 13 5 6 標籤 領英棧 class solution sum convert s.top...

lintcode 逆波蘭表示式求值

求逆波蘭表示式的值。在逆波蘭表達法中,其有效的運算符號包括 每個運算物件可以是整數,也可以是另乙個逆波蘭計數表達。您在真實的面試中是否遇到過這個題?yes 樣例 2 1 3 2 1 3 9 4 13 5 4 13 5 6 思路 碰到不是 就轉換為整數壓棧,碰到了就彈出兩個數進行運算,得到的結果再壓棧...