# -*- coding:utf-8 -*-
class Solution:
t = 0
def jumpFloorII(self, number):
if number > 1:
self.t = self.t + int(self.jumpFloorII(number-1))
else:
self.t = 1
return self.t
然后结果不管输多少都是1
# -*- coding:utf-8 -*-
class Solution:
t = 0
def jumpFloorII(self, number):
if number > 1:
self.t = self.t + int(self.jumpFloorII(number-1))
else:
self.t = 1
return self.t
然后结果不管输多少都是1
因为你这个实际只执行了一次
很好理解啊,第一次递归直接return了,就跑了一次,
所以返回值是1,递归的深度需要用if语句来确定条件return ,你这个没有条件判断 直接就return了 递归失败。
class Solution:
t=0
def jumpFloorII(self, number):
if number>0:
self.t += number
else:
return
self.jumpFloorII(number-1)
if __name__ == '__main__':
a=Solution()
a.jumpFloorII(3)
print(a.t)