引言:
递归解释
引例——数组求和问题
代码示例:
1 | public class SumRecusion { |
总结(两步):
递归结束条件
把原问题转换为更小的问题
链表与递归
问题示例:递归删除链表中某个元素值
代码示例:
1 | public class RecursionRemoveElement { |
微观分析
小结
1 | int func(传入数值) { |
二叉树与递归
1 | // N叉树 |
Leetcode437 PathSum III
给一棵二叉树,和一个目标值,节点上的值有正有负,返回树中和等于目标值的路径条数
1 | root = [10,5,-3,3,2,null,11,3,-2,null,1], sum = 8 |
这里涉及两层递归函数,一个是count函数,作用是该节点下有多少条路线,本质是二叉树遍历,递归该节点下存在的路径,pathSum函数也是二叉树遍历,是在遍历那个节点。
1 | public class LeetCode437 { |
Leetcode226