剑指Offer_47_求1+2+3+...+n
题目描述
求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
解题思路
使用一个实例变量保存结果,每次递归调用(返回值为boolean)和 n 是否大于 0来判断循环是否结束
实现
public class Solution {
int sum = 0;
public int Sum_Solution(int n) {
sumN(n);
return sum;
}
private boolean sumN(int n) {
sum += n;
return (n > 0) && sumN(n-1);
}
}