题目:
题解:
class Solution:def calculate(self, s: str) -> int:ops = [1]sign = 1ret = 0n = len(s)i = 0while i < n:if s[i] == ' ':i += 1elif s[i] == '+':sign = ops[-1]i += 1elif s[i] == '-':sign = -ops[-1]i += 1elif s[i] == '(':ops.append(sign)i += 1elif s[i] == ')':ops.pop()i += 1else:num = 0while i < n and s[i].isdigit():num = num * 10 + ord(s[i]) - ord('0')i += 1ret += num * signreturn ret