不让使用判断符去实现,可以选择使用判断条件来完成:
随便设置一个boolean变量,要想跨过这个语句就必须执行完右边的判断。而右边正是递归的语句。因此它会一直递归,直到n==0时,与运算左边判断失败,不会进入与运算右边。直接给bb赋值false;进入下一步。最底层的方法执行完,倒数第二层从sumNums中出来,也继续执行加法。最终可以得到和。
class Solution {
int sum=0;
public int sumNums(int n) {
//递归
boolean bb = (n>0 && sumNums(n-1)>0);
sum=n+sum;
return sum;
}
}