n 阶台阶,一次走 一步 或 两步 ,有多少种走法?
重点在于逻辑:
第n步,走一步,即 n-1
,再求 n-1
个阶梯的走法,
走两步,即 n-2
,再求 n-2
个阶梯的走法,
以此,n 级阶梯的走法是 n-1 个阶梯的走法与 n-2 个阶梯的走法的和
就是:f(n) = f(n-1) + f(n-2)
走台阶的的本质是求第n个斐波那契数
function GetStepNum(n) {
if(n<1) return 0
if(n==1) return 1
if(n==2) return 2
if(n>2)
return GetStepNum(n - 1) + GetStepNum(n - 2)
}