//递归,累计+1,非尾递归 public static int cap(int n) { if (n == 1) { return 1; } return cap((n - 1)) + 1; } //递归,累计+1,尾递归 public static int capTail(int n, int m) { if (n == 1) { return m; } m++; return capTail((n - 1), m); } //阶乘,非尾递归 public static int factorial(int n) { if (n == 1) { return 1; } return n * factorial((n - 1)); } //阶乘,尾递归 public static int factorialTail(int n, int m) { if (n == 1) { return n; } m *= n; return factorialTail((n - 1), m); }
递归与尾递归,傻傻地分不清楚
缘于生活,而归于工作。本人所书,而意于分享。
如有转载,请注明出处!
--活出自己范儿