剑指offer-求1+2+3+...+n -- Java实现

题目

输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.

分析

思路一:

1.需利用逻辑与的短路特性实现递归终止。
2.当n==1时,(n > 1) && ((sum = Sum_Solution(n - 1) + n) > 0)只执行前面的判断,为false,然后直接返回1;
3.当n>0时,执行sum = Sum_Solution(n - 1) + n,实现递归计算Sum_Solution(n)。

代码:

public class Solution {
    public int Sum_Solution(int n) {
        int sum = 1;
        boolean ans = (n > 1) && ((sum = Sum_Solution(n - 1) + n) > 0);
        return sum;
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_42054926/article/details/106147177
今日推荐