题目描述
求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
思路
短路运算 + 递归, 代替循环。
时间复杂度O(n),空间复杂度O(n)。
短路递归代码
public class Solution {
public int Sum_Solution(int n) {
if(n < 1) return 0;
boolean tmp = n > 0 && (n += Sum_Solution(n-1)) > 0;
return n;
}
}
笔记
无