150. 逆波兰表达式求值
2022/1/13 6:07:13
本文主要是介绍150. 逆波兰表达式求值,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
我直接震惊、、、怪不得一开始一直不过 卡在了这里 我淦
class Solution: def evalRPN(self, tokens: List[str]) -> int: ''' 思路:栈实现,遇着数字入栈,遇着运算符出栈 ''' stack = [] for i in tokens: if i not in ['+','-','*','/']: # 判断该字符是否为字符串 stack.append(int(i)) else: a,b = stack.pop(),stack.pop() # 根据题意,stack里面必定至少有俩元素 if i == '+': stack.append(b+a) elif i == '-': stack.append(b-a) elif i == '/': stack.append(int(b/a)) else: stack.append(b*a) return stack.pop()
看了一下答案,这个语句写的确实六六
class Solution: def evalRPN(self, tokens: List[str]) -> int: stack = [] for item in tokens: if item not in {"+", "-", "*", "/"}: stack.append(item) else: first_num, second_num = stack.pop(), stack.pop() stack.append( int(eval(f'{second_num} {item} {first_num}')) # 第一个出来的在运算符后面 ) return int(stack.pop()) # 如果一开始只有一个数,那么会是字符串形式的
这篇关于150. 逆波兰表达式求值的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-11cursor试用出现:Too many free trial accounts used on this machine 的解决方法
- 2025-01-11百万架构师第十四课:源码分析:Spring 源码分析:深入分析IOC那些鲜为人知的细节|JavaGuide
- 2025-01-11不得不了解的高效AI办公工具API
- 2025-01-102025 蛇年,J 人直播带货内容审核团队必备的办公软件有哪 6 款?
- 2025-01-10高效运营背后的支柱:文档管理优化指南
- 2025-01-10年末压力山大?试试优化你的文档管理
- 2025-01-10跨部门协作中的进度追踪重要性解析
- 2025-01-10总结 JavaScript 中的变体函数调用方式
- 2025-01-10HR团队如何通过数据驱动提升管理效率?6个策略
- 2025-01-10WBS实战指南:如何一步步构建高效项目管理框架?