# 根據逆波蘭表示法,求表示式的值。
# 有效的運算子包括 +, -, *, / 。每個運算物件可以是整數,也可以是另乙個逆波蘭表示式。
## 說明:
# 整數除法只保留整數部分。
# 給定逆波蘭表示式總是有效的。換句話說,表示式總會得出有效數值且不存在除數為 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
class solution(object):
def evalrpn(self, tokens):
""":type tokens: list[str]
:rtype: int
"""lens = len(tokens)
stacks =
for i in range(lens):
if tokens[i] == '+':
bb = stacks.pop()
aa = stacks.pop()
elif tokens[i] == '-':
bb = stacks.pop()
aa = stacks.pop()
elif tokens[i] == '*':
bb = stacks.pop()
aa = stacks.pop()
elif tokens[i] == '/':
bb = stacks.pop()
aa = stacks.pop()
else:
return stacks.pop()
LeetCode 150 逆波蘭表示式
根據 逆波蘭表示法,求表示式的值。有效的運算子包括 每個運算物件可以是整數,也可以是另乙個逆波蘭表示式。說明 整數除法只保留整數部分。給定逆波蘭表示式總是有效的。換句話說,表示式總會得出有效數值且不存在除數為 0 的情況。示例 1 輸入 2 1 3 輸出 9 解釋 該算式轉化為常見的中綴算術表示式為...
leetcode 150 逆波蘭表示式求值
根據逆波蘭表示法,求表示式的值。有效的運算子包括 每個運算物件可以是整數,也可以是另乙個逆波蘭表示式。說明 示例 1 輸入 2 1 3 輸出 9 解釋 2 1 3 9示例 2 輸入 4 13 5 輸出 6 解釋 4 13 5 6從前往後遍歷陣列,遇到數字則壓入棧中,遇到符號,則把棧頂的兩個數字拿出來...
leetcode150 逆波蘭表示式求值
根據逆波蘭表示法,求表示式的值。有效的運算子包括 每個運算物件可以是整數,也可以是另乙個逆波蘭表示式。說明 整數除法只保留整數部分。給定逆波蘭表示式總是有效的。換句話說,表示式總會得出有效數值且不存在除數為 0 的情況。示例 1 輸入 2 1 3 輸出 9 解釋 2 1 3 9 示例 2 輸入 4 ...