链表 07 递归基础与递归的宏观语义

递归的本质

把原问题转化为规模更小的同一个问题,直到一个不能再小的基本问题

用递归的方式实现求和

递归方法 int sum(int[] arr, int l) 的语义
  • 计算数组 arr 从 l 开始(包含)到数组最后一个元素间所有元素的和;
public class SumDemo {

    public static int sum(int[] arr) {
        return sum(arr, 0);
    }

    public static int sum(int[] arr, int l) {
        if (l == arr.length) {
            return 0;
        }
        return arr[l] + sum(arr, l + 1);
    }

    public static void main(String[] args) {
        int[] arr = {1, 2, 3, 4, 5, 6, 7, 8};
        System.out.println(sum(arr));
    }

}
输出

36

你可能感兴趣的:(链表 07 递归基础与递归的宏观语义)