我理解的递归有点像“俄罗斯套娃”,一层一层的嵌套自己,直到小的没发嵌套为止!

面试题十四:什么是递归?什么是递归函数?-QUI-Notes

递归定义

递归,在特定的条件下,函数体内调用自己!

递归特点:

1.自己调用自己
2.有终止条件

应用场景:

1.1~n求和 

function sum(n){
	if(n==1){
		return 1;
	}
	return sum(n-1) + n;
}

2.递归求波菲那契数列的结果 1,1,2,3,5,8,13,21.... (后一项是前两项的和)

function next(n){
	if(n==1 || n == 2){
		return 1;
	}
	return next(n-1) + next(n-2);
}

3.深拷贝