题解 | 牛牛与后缀表达式

牛牛与后缀表达式

https://www.nowcoder.com/practice/a1a4f178f6ff4188890e51da1cc8ce10

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 给定一个后缀表达式,返回它的结果
# @param str string字符串 
# @return long长整型
#
class Solution:
    def legalExp(self , str1 ):
        # write code here
        stack=[]
        number=[]
        i=0
        while(len(str1)!=i):
			#如果是数字,确定完数字整体
            if str1[i] in [str(i) for i in range(0,10)]:
                while(str1[i]!='#'):
                    number.append(str1[i])
                    i+=1
                stack.append(int(''.join(number)))
                number=[]
                i+=1
			#如果不是数字,算结果
            else:
                length=len(stack)
                if str1[i]=='+':
                    stack[length-2]=stack[length-1]+stack[length-2]
                elif str1[i]=='-':
                    stack[length-2]=stack[length-2]-stack[length-1]
                elif str1[i]=='*':
                    stack[length-2]=stack[length-1]*stack[length-2]
                stack.pop()
                i+=1
        return stack[0]

全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务