【长期更新】Leetcode刷题心得与思考
1.递归与动态规划的思考
递归问题最重要的问题是想明白函数的作用是什么?
这个例子中函数的返回值就是给定a-b这个区间的数字,返回它所有可能的Tree,此时你不需要明白具体怎么做到的
接下来就是考虑a>b,a==b,a<b的情况,当a<b时,递归结果,得到它的左子树,然后得到它的右子树,
接下来就是关键了:要考虑如何把这些结果合并起来,用了两个for循环
解决
番外:
递归问题最重要的是明白函数的返回值,然后就是递归拆分成子问题,得到子问题结果后再合并。
就是两个点:函数返回值,如何拆分成子问题,如何合并子问题的答案。
动态规划最重要的是定义数组的含义,然后就是找到数组元素之间的关系,最好就是知道初始值,与递归问题其实是相互对应的