leetcode682 棒球比赛

这道题按照题意,用栈来实现即可。

简单题

class Solution(object):
    def calPoints(self, ops):
        """
        :type ops: List[str]
        :rtype: int
        """
        stack=[]
        sum_score=0#总分
        for o in ops:
            if '0'<=o[0]<='9'  or o[0]=='-':#整数
                num=int(o)#转成整数
                stack.append(num)
                sum_score+=num
            elif o=='+':
                num=stack[len(stack)-1]+stack[len(stack)-2]
                stack.append(num)
                sum_score+=num
            elif o=='D':
                num=stack[len(stack)-1]*2
                stack.append(num)
                sum_score+=num
            elif o=='C':
                pop_value=stack.pop()
                sum_score-=pop_value
        return sum_score

 

你可能感兴趣的:(算法面试题)