什么是递归

递归一般是指在函数内部又调用了自身

原理

主要原理是在每次调用自身的时候,需要解决的任务会进一步简化或者理解为任务量变少;

直到简化至一些基本的case,可以直接处理并返回而不再需要进一步简化的情况。

算法实现的大体思路

一般来说代码首先需要处理基本的case,然后是递归的调用;

对于稍复杂一点的问题,递归调用的返回值不能直接作为上一次的返回值,需要进一步处理,根据实际情况返回应该返回的值。

举例

给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。

如:给定 1->2->3->4, 你应该返回 2->1->4->3

代码实现如下:

10分钟学会递归算法(算法基础递归算法解读)(1)

递归代码

,