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. 逆波兰表达式求值的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-28AI给的和自己写的Python代码,都无法改变输入框的内容,替换也不行
- 2024-09-27Sentinel配置限流资料:新手入门教程
- 2024-09-27Sentinel配置限流资料详解
- 2024-09-27Sentinel限流资料:新手入门教程
- 2024-09-26Sentinel限流资料入门详解
- 2024-09-26Springboot框架资料:初学者入门教程
- 2024-09-26Springboot框架资料详解:新手入门教程
- 2024-09-26Springboot企业级开发资料:新手入门指南
- 2024-09-26SpringBoot企业级开发资料新手指南
- 2024-09-26Springboot微服务资料入门教程