第 19 日:求1+2+…+n
题目链接:https://leetcode-cn.com/problems/qiu-12n-lcof/submissions/
题目
解题
-
利用与运算
解题思路:
既然正常关键字以及判断语语句被ban了,那么我们采用递归,设置一个成员变量计算总和,那么怎么设置结束的,如使用&&
的特性:当符合前面的条件才会执行后面的语句,所以当n>=1时才进行递归就好了!!详细代码如下:
class Solution {
int sum=0;
public int sumNums(int n){
boolean x=n>=1&&sumNums(n-1)>0;
sum+=n;
return sum;
}
}
-
利用异常
解题思路:
这个很简单,每次递归求和时,使用创建n
大小的数组(当n=-1时会出异常)来作为终止条件详细代码如下:
class Solution {
public int sumNums(int n){
try{
short[] arr=new short[n];
}catch (Exception e){
return 0;
}
return n+sumNums(n-1);
}
}