Loading docs/basic/divide-and-conquer.md +4 −4 Original line number Diff line number Diff line Loading @@ -109,7 +109,7 @@ void traverse(TreeNode* root) { 以下**详解 LeetCode 的一道题来说明**:给一课二叉树,和一个目标值,节点上的值有正有负,返回树中和等于目标值的路径条数,让你编写 pathSum 函数: 以下**详解 LeetCode 的一道题来说明**:给一棵二叉树,和一个目标值,节点上的值有正有负,返回树中和等于目标值的路径条数,让你编写 pathSum 函数: ``` /* 来源于 LeetCode PathSum III: https://leetcode.com/problems/path-sum-iii/ */ Loading Loading @@ -173,7 +173,7 @@ int count(TreeNode node, int sum) { } ``` 还是那句话,明白每个函数能做的事,并相信他们能够完成。 还是那句话,** 明白每个函数能做的事,并相信他们能够完成。 ** 总结下,PathSum 函数提供的二叉树遍历框架,在遍历中对每个节点调用 count 函数,看出先序遍历了吗(这道题什么序都是一样的);count 函数也是一个二叉树遍历,用于寻找以该节点开头的目标值路径。好好体会吧! Loading @@ -196,7 +196,7 @@ LeetCode 有递归专题练习,[点这里去做题](https://leetcode.com/explo 分治算法可以分三步走:分解 -> 解决 -> 合并 1. 分解原问题为结构相同的子问题。 2. 分解到某个容易求解的边界之后,进行第归求解。 2. 分解到某个容易求解的边界之后,进行递归求解。 3. 将子问题的解合并成原问题的解。 归并排序,我们就叫这个函数`merge_sort`吧,按照我们上面说的,要明确该函数的职责,即**对传入的一个数组排序**。OK,那么这个问题能不能分解呢?当然可以!给一个数组排序,不就等于给该数组的两半分别排序,然后合并就完事了。 Loading Loading
docs/basic/divide-and-conquer.md +4 −4 Original line number Diff line number Diff line Loading @@ -109,7 +109,7 @@ void traverse(TreeNode* root) { 以下**详解 LeetCode 的一道题来说明**:给一课二叉树,和一个目标值,节点上的值有正有负,返回树中和等于目标值的路径条数,让你编写 pathSum 函数: 以下**详解 LeetCode 的一道题来说明**:给一棵二叉树,和一个目标值,节点上的值有正有负,返回树中和等于目标值的路径条数,让你编写 pathSum 函数: ``` /* 来源于 LeetCode PathSum III: https://leetcode.com/problems/path-sum-iii/ */ Loading Loading @@ -173,7 +173,7 @@ int count(TreeNode node, int sum) { } ``` 还是那句话,明白每个函数能做的事,并相信他们能够完成。 还是那句话,** 明白每个函数能做的事,并相信他们能够完成。 ** 总结下,PathSum 函数提供的二叉树遍历框架,在遍历中对每个节点调用 count 函数,看出先序遍历了吗(这道题什么序都是一样的);count 函数也是一个二叉树遍历,用于寻找以该节点开头的目标值路径。好好体会吧! Loading @@ -196,7 +196,7 @@ LeetCode 有递归专题练习,[点这里去做题](https://leetcode.com/explo 分治算法可以分三步走:分解 -> 解决 -> 合并 1. 分解原问题为结构相同的子问题。 2. 分解到某个容易求解的边界之后,进行第归求解。 2. 分解到某个容易求解的边界之后,进行递归求解。 3. 将子问题的解合并成原问题的解。 归并排序,我们就叫这个函数`merge_sort`吧,按照我们上面说的,要明确该函数的职责,即**对传入的一个数组排序**。OK,那么这个问题能不能分解呢?当然可以!给一个数组排序,不就等于给该数组的两半分别排序,然后合并就完事了。 Loading