0%

求1+2+…+n


题目:

题解:

1、递归法

  • 解题思路:

  • 复杂度分析:

    • 时间复杂度 O(n) : 计算 n + (n-1) + … + 2 + 1 需要开启 n 个递归函数。
    • 空间复杂度 O(n) : 递归深度达到 n ,系统使用 O(n) 大小的额外空间。
  • 代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    class Solution {
    int res = 0;
    public int sumNums(int n) {
    boolean b = n > 1 && sumNums(n - 1) > 0;
    res += n;
    return res;
    }
    }
    // 或者
    class Solution2 {
    public int sumNums(int n) {
    boolean x = n > 1 && (n += sumNums(n - 1)) > 0;
    return n;
    }
    }