前言
通过leetcode记录自己每天坚持刷题,以此监督自己的学习。不能放假了就懈怠😁
题目简介
题目传送地:剑指 Offer 64. 求1+2+…+n
求 1+2+…+n
,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。示例 1:
输入: n = 3 输出: 6
示例 2:输入: n = 9 输出: 45
解析
刚开始没看到这么多的限制结果用了求和公式乘法hh(面试时:同学请你等通知吧md。。。。。🤣)
后来在琢磨了一下大概应该是使用递归来代替for循环
代码
class Solution:
def sumNums(self, n: int) -> int:
def back(n):
if n==1:
return 1
return n+back(n-1)
return back(n)