递归
没有无限递归 这个说法
每调用一个方法,都会在栈中给一个栈桢,所以,当递归调用方法时
如果没有终止条件,则会造成栈溢出。
时间复杂度 O(n) 空间复杂度S(n)
// 递归
public static int getVal(int n){
if (n==1){
return 1;
}else {
return getVal(n - 1)*n;
}
}
// 循环做 n!<br /> public static int fun(int n){<br /> int sum = 1;<br /> for (int i = 0; i <=n; i++) {<br /> sum = sum*i;<br /> }<br /> return sum;<br /> }
