# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # 给定一个后缀表达式,返回它的结果 # @param str string字符串 # @return long长整型 # class Solution: def legalExp(self , str ): # write code here stack = [] i = 0 n = len(str) while i < n: if str[i] == '#': i+=1 continue if str[i].isdigit(): # 处理多位数 num = 0 while i < n and str[i].isdigit(): num = num * 10 + int(str[i]) i+=1 stack.append(num) continue elif str[i] == '+': a = stack.pop() b = stack.pop() c = a + b stack.append(c) i+=1 elif str[i] == '*': a = stack.pop() b = stack.pop() c = a * b stack.append(c) i+=1 elif str[i] == '-': a = stack.pop() b = stack.pop() c = b - a stack.append(c) i+=1 return int(stack[0])