Java青蛙跳台阶的递归和非递归解法
递归版:
int Fib(int n) {
if (1 == n || 2 == n)
return n;
else
return Fib(n - 1) + Fib(n - 2);
}
}
非递归版:
public static int calc3(int n) {
if (1 == n || 2 == n)
return n;
int s1 = 1, s2 = 2, s3 = 1;
for (int i = 3; i <= n; i++) {
s3 = s1 + s2;
s1 = s2;
s2 = s3;
}
return s3;
}
还没有评论,来说两句吧...