【LeetCode with Python】 Evaluate Reverse Polish Notation
来源:互联网 发布:excel数据透视分析 编辑:程序博客网 时间:2024/06/08 14:24
博客域名:http://www.xnerv.wang
原题页面:https://oj.leetcode.com/problems/evaluate-reverse-polish-notation/
题目类型:栈
难度评价:★★
本文地址:http://blog.csdn.net/nerv3x3/article/details/3465981
原题页面:https://oj.leetcode.com/problems/evaluate-reverse-polish-notation/
题目类型:栈
难度评价:★★
本文地址:http://blog.csdn.net/nerv3x3/article/details/3465981
Evaluate the value of an arithmetic expression in Reverse Polish Notation.
Valid operators are +
, -
, *
, /
. Each operand may be an integer or another expression.
Some examples:
["2", "1", "+", "3", "*"] -> ((2 + 1) * 3) -> 9 ["4", "13", "5", "/", "+"] -> (4 + (13 / 5)) -> 6
逆波兰式的计算。相信大多数计算机和软件专业的朋友大学时都做过的算法题,用栈模拟计算过程。
class Solution: # @param tokens, a list of string # @return an integer def evalRPN(self, tokens): len_tokens = len(tokens) if 0 == len_tokens: return 0 # python has no stack, so we have to simulate it nums_stack = [] for i in range(0, len_tokens): token = tokens[i] # consider negative number, so shouldn't decide by the first char, but last char last_ch = token[len(token) - 1] if last_ch >= '0' and last_ch <= '9': nums_stack.append(int(token)) else: right = nums_stack.pop() left = nums_stack.pop() if '+' == token: result = left + right elif '-' == token: result = left - right elif '*' == token: result = left * right else: sign = 1 if (left >= 0 and right >= 0) or (left <= 0 and right <= 0) else -1 result = abs(left) // abs(right) * sign nums_stack.append(result) return nums_stack.pop()
- 【LeetCode with Python】 Evaluate Reverse Polish Notation
- LeetCode-Evaluate Reverse Polish Notation (Python)
- 【leetcode】:Evaluate Reverse Polish Notation (python)
- Evaluate Reverse Polish Notation Leetcode Python
- Evaluate Reverse Polish Notation | leetcode
- leetcode-Evaluate Reverse Polish Notation
- Leetcode: Evaluate Reverse Polish Notation
- LeetCode - Evaluate Reverse Polish Notation
- LeetCode | Evaluate Reverse Polish Notation
- Leetcode: Evaluate Reverse Polish Notation
- Leetcode: Evaluate Reverse Polish Notation
- Evaluate Reverse Polish Notation (LeetCode)
- leetcode: Evaluate Reverse Polish Notation
- Leetcode Evaluate Reverse Polish Notation
- [LeetCode] Evaluate Reverse Polish Notation
- [LeetCode] Evaluate Reverse Polish Notation
- Evaluate Reverse Polish Notation -- LeetCode
- 【LeetCode】Evaluate Reverse Polish Notation
- 【LeetCode with Python】 Median of Two Sorted Arrays
- DB2插入引号字符的问题
- CSS强制TD不换行
- 总结ubuntu升级后的配置
- 【LeetCode with Python】 Length of Last Word
- 【LeetCode with Python】 Evaluate Reverse Polish Notation
- -
- 35岁之前!男人要注意积累什么?
- DB2离线和在线全备、增量备份及恢复的操作步骤
- 取不同的随机数
- DB2分页查询sql和ROW_NUMBER()函数
- 亲历惊心48小时抢救35亿交易数据
- 静态工厂方法代替构造函数的优缺点
- aix机上图片不能正常显示的问题