雖然是個最基礎最簡單的遞歸問題,看到別人的代碼才發現也有不同的做法。
用循環避免過多遞歸重複計算
public class Solution {
public int Fibonacci(int n) {
int preNum=1;
int prePreNum=0;
int result=0;
if(n==0)
return 0;
if(n==1)
return 1;
for(int i=2;i<=n;i++){
result=preNum+prePreNum;
prePreNum=preNum;
preNum=result;
}
return result;
}
}