计算器:
class Solution:
def calculate(self, s: str) -> int:
stack = []
pre_op ='+'
num = 0
for i, char in enumerate(s):
if char.isdigit():
num = 10*num + int(char)
if char in "+-*/" or i == len(s)-1:
if pre_op == '+':
stack.append(num)
if pre_op == '-':
stack.append(-num)
if pre_op == '*':
prevnum = stack.pop()
stack.append(prevnum * num)
if pre_op == '/':
prevnum = stack.pop()
stack.append(int(prevnum/num))
num = 0
pre_op = char
return sum(stack)