Baseball Game

Posted 唐僧洗发爱飘柔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Baseball Game相关的知识,希望对你有一定的参考价值。

    这道题为简单题

  题目:

    

 

  思路:

    利用栈,遍历列表ops,如果是数字就存入列表a,sum加上数字,如果是C,判断a是否还有数字,有就删除,如果是D,判断a是否还有数字,有就把num加上2倍a的最后一个数并将2倍之和的数添加到a中,如果是+,判断a是否还有两个数,有就将num加上那两个数,并将后面这两个数的和添加到a中。最后返回num

  代码:

 1 class Solution(object):
 2     def calPoints(self, ops):
 3         """
 4         :type ops: List[str]
 5         :rtype: int
 6         """
 7         a = []
 8         num = 0
 9         for i in ops:
10             if i == \'C\':
11                 if a:
12                     num -= int(a.pop())
13             elif i == \'D\':
14                 if a:
15                     num += 2 * int(a[len(a)-1])
16                     a.append(2 * int(a[len(a)-1]))
17             elif i == \'+\':
18                 if len(a)>=2:
19                     num = num + int(a[len(a)-1]) + int(a[len(a)-2])
20                     a.append(int(a[len(a)-1]) + int(a[len(a)-2]))
21             else: 
22                 a.append(i)
23                 num += int(i)
24         return num

 

以上是关于Baseball Game的主要内容,如果未能解决你的问题,请参考以下文章

[LeetCode] Baseball Game

682. Baseball Game

Baseball Game

682. Baseball Game

[leetcode-682-Baseball Game]

leetcode-682-Baseball Game