递归写法,或者用与运算符进行短路的递归写法
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param n int整型
# @return int整型
#
class Solution:
def __init__(self):#使得实例一开始就拥有类模板所具有的属性res。(不然后面要用res会说变量没有定义
self.res=0
def Sum_Solution(self , n: int) -> int:
#我们可以采用与运算的短路操作:
#在函数中,如果与运算成立,则继续;否则终止函数直接返回false。
#通过与运算判断n是否为正数,以结束递归。
n>1 and self.Sum_Solution(n-1)#n>1时则执行self.Sum_Solution(n-1),n<=1时则短路
self.res=self.res+n
return self.res
# if n==1:
# res=1
# else:
# res=n
# res=res+self.Sum_Solution(n-1)
# return res
#或者采用以下写法:
# if n == 1:
# return n
# else:
# return n + self.Sum_Solution(n - 1)