Python 递归实现斐波那契数列
斐波那契数列就是除第一项和第二项外,每项都等于前两项的和的一串数列,即第N
项的值为F(N-2) + F(N-1)
,LeetCode 原题如下:
斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:
F(0) = 0, F(1) = 1
F(N) = F(N - 1) + F(N - 2), 其中 N > 1.
给定 N,计算 F(N)。
很明显,斐波那契数列的性质完全可以通过递归的方式来实现,实际上它也是理解递归的经典问题,代码如下:
class Solution(object):
def fib(self, N):
"""
:type N: int
:rtype: int
"""
if N == 0:
return 0
elif N == 1:
return 1
else:
return (self.fib(N - 2) + self.fib(N - 1))