227. 基本计算器 II
生活随笔
收集整理的這篇文章主要介紹了
227. 基本计算器 II
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
227. 基本計算器 II
Ideas
對于表達式計算的問題,一般第一個想到的就是stack,每次從表達式中拿一個值放到stack中,如果是乘除,因為優先級比較高,所以先計算,然后把計算結果append到stack中。
Code
Python
import operatorclass Solution:def calculate(self, s: str) -> int:stack = []op = {'+': lambda x: stack.append(x),'-': lambda x: stack.append(-x),'*': lambda x: stack.append(x * stack.pop()),'/': lambda x: stack.append(int(operator.truediv(stack.pop(), x))),}pre, num = '+', 0for c in s + '+':if c.isdigit():num = num * 10 + ord(c) - ord('0')elif c != ' ':op[pre](num)pre = cnum = 0return sum(stack)總結
以上是生活随笔為你收集整理的227. 基本计算器 II的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2014/School_C_C++_A/
- 下一篇: 2014/School_C_C++_A/