在Java中是否可以通过一个return语句将数字1到n递归加?您将如何更改标准解决方案:
public static int sum(int n) {
if(n == 1) return n;
else return n + sum(n - 1);
}
答案 0 :(得分:13)
return n == 1 ? n : n + sum(n-1);
答案 1 :(得分:6)
您可以使用简单的数学而无需递归:
public static int sum(int n) {
return n * (n + 1) / 2;
}
答案 2 :(得分:3)
是的,通过使用三元运算符:
public static int sum(int n) {
return n == 1 ? n : n + sum(n - 1);
}
答案 3 :(得分:0)
public static int sum(int n) {
return n == 1 ? 1 : n + sum(n-1);
}