剑指 Offer 64. 求1+2+…+n
思路:因为不能用那些运算符,所以就只能用递归做,但是递归会用到if语句,当n为1的时候返回1,当n大于1的时候执行res += sum(n-1)+ n
利用下面这行语句即可:
boolean x = n > 1 && (res = sumNums(n - 1) + n) > 0;
java一定要加一个 > 0否则会报错哦
class Solution {
int res = 1;
public int sumNums(int n) {
boolean x = n > 1 && (res = sumNums(n - 1) + n) > 0;
return res;
}
}
时间复杂度O(N)
空间复杂度O(N)