标签:sel ret 添加 简单 obj points app ops list
这道题为简单题
利用栈,遍历列表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
标签:sel ret 添加 简单 obj points app ops list
原文地址:http://www.cnblogs.com/liuxinzhi/p/7589281.html