我在第一次看见这个题目的时候是没有思路的,如果利用数学等差数列公式求解则会用到乘除,如果循环相加的话则会用到循环语句,如果利用递归,那么想要递归停止需要判断语句。
思路:利用&&和||的短路特性作为递归的终止条件。
代码如下:
public class Solution { public int Sum_Solution(int n) { int sum = n; boolean a = (sum >0) && ((sum += Sum_Solution(--n)) >0); return sum; } }