带有一个return语句的Java递归

时间:2019-03-22 14:17:19

标签: java recursion

在Java中是否可以通过一个return语句将数字1到n递归加?您将如何更改标准解决方案:

public static int sum(int n) {
   if(n == 1) return n;
    else return n + sum(n - 1);
}

4 个答案:

答案 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);
  }