【栈】【150. 逆波兰表达式求值】【中等】(需回顾)
生活随笔
收集整理的這篇文章主要介紹了
【栈】【150. 逆波兰表达式求值】【中等】(需回顾)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
根據逆波蘭表示法,求表達式的值。
有效的運算符包括 +, -, *, / 。每個運算對象可以是整數,也可以是另一個逆波蘭表達式。
說明:
-
整數除法只保留整數部分。
-
給定逆波蘭表達式總是有效的。換句話說,表達式總會得出有效數值且不存在除數為 0 的情況。
示例 1:輸入: ["2", "1", "+", "3", "*"]輸出: 9解釋: ((2 + 1) * 3) = 9示例 2:輸入: ["4", "13", "5", "/", "+"]輸出: 6解釋: (4 + (13 / 5)) = 6示例 3:輸入: ["10", "6", "9", "3", "+", "-11", "*", "/", "*", "17", "+", "5", "+"]輸出: 22解釋: ((10 * (6 / ((9 + 3) * -11))) + 17) + 5= ((10 * (6 / (12 * -11))) + 17) + 5= ((10 * (6 / -132)) + 17) + 5= ((10 * 0) + 17) + 5= (0 + 17) + 5= 17 + 5= 22
來源:力扣(LeetCode) 鏈接:https://leetcode-cn.com
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
-
首先介紹一下前綴、中綴、后綴表達式。
中綴表達式:1 + (2 + 3) × 4 - 5前綴表達式:- + 1 × + 2 3 4 5后綴表達式:1 2 3 + 4 × + 5 -對計算機來說,計算前綴或后綴表達式的值非常簡單 -
前綴表達式的計算機求值
- 后綴表達式的計算機求值
以下是前綴、中綴、后綴表達式詳解
轉載自:https://www.cnblogs.com/zzliu/p/10801113.html
-
個人題解:
-
利用棧存儲深度值來依次計算
-
例 [“2”, “1”, “+”, “3”, “*”]
2 //數字2入棧21 //數字1入棧3 //2+1結果入棧33 //數字3入棧9 //3*3結果入棧 -
個人代碼:(待優化版)
總結
以上是生活随笔為你收集整理的【栈】【150. 逆波兰表达式求值】【中等】(需回顾)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【栈】【856. 括号的分数】【中等】(
- 下一篇: 【栈】【232. 用栈实现队列】【简单】