Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution:
- def calculate(self, s: str) -> int:
- s = s + "+"
- num = 0
- previous_num = 0
- current_num = 0
- prev_operator = "+"
- result = 0
- for i in range(len(s)):
- if s[i].isnumeric():
- current_num = current_num*10 + int(s[i])
- elif s[i] == " ":
- continue
- # consider cases where "+-*/"
- else:
- if prev_operator == "+":
- num = num + current_num
- prev_num = current_num
- elif prev_operator == "-":
- num = num - current_num
- prev_num = -current_num
- elif prev_operator == "*":
- num = num - prev_num + prev_num*current_num
- prev_num = prev_num*current_num
- else:
- num = num - prev_num + int(prev_num/current_num)
- prev_num = int(prev_num/current_num)
- current_num = 0
- prev_operator = s[i]
- return num
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement