天天看點

劍指Offer 64.求1+2+...+n(Python)

題目描述

求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)。

解題思路

短路邏輯+遞歸

  • 當n大于0時,由于and運算符的短路邏輯,return n+self.Sum_Solution(n-1);
  • 而n = 0時,return n.
class Solution:
    def Sum_Solution(self, n):
        # write code here
        return n and n + self.Sum_Solution(n-1)