算法---递归

1、什么是递归?

“要理解递归,就得先了解什么是递归”,实际上这句话就是一个递归。哈哈,是不是把大家说蒙了,没关系,接下来举个从小就听 过的例子:从前有座山,山里有座庙,庙里有个和尚,和尚在讲故事,从前有座山,山里有座庙,庙里有个和尚,和尚在讲故事,从前有座山…
在这里插入图片描述

2、举例数组求和----计算数组某个区间内所有谁的和

package recursion;

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

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

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

在这里插入图片描述

3、链表具有天然的递归性

对于一个链表来说,我们可以理解成一个一个节点的挂接,也可以理解成是一个头节点后面又挂接了一个更小的更短的链表。
在这里插入图片描述

发布了70 篇原创文章 · 获赞 16 · 访问量 13万+

猜你喜欢

转载自blog.csdn.net/qq_43229543/article/details/104043835