class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 * @return int整型 */ int Fibonacci(int n) { // write code here if(n==1||n==2){ return 1;//如果是一开始就只有1 }else{ return Fibonacci(n-1)+Fibonacci(n-2);//在之后的数据中,会出现最后一项等于前两项相加的情况 } } };
但有人会不理解return Fibonacci(n-1)+Fibonacci(n-2);这一句,在这里举一个例子,假如n=4,那么return Fibonacci(3)+Fibonacci(2);这时,后一项等于1,而前一项又进入该函数,return Fibonacci(2)+Fibonacci(1);这时二者就都等于1了,这样就得出答案3,这就是函数递归基本思想