Tree DFS
Tree DFS Tree DFS Tree上的DFS分为两种(Divide Conquer + Traversal和纯Divide Conquer) 建立当前/用全局变量(根据不同的方式) root 为 空 ( 返回 什么/ 更新 指针) 左 节点和 右 节点 都 为 空 ,用 root 构建 当前 解( 返回 什么/ 更新 指针) 左 节点和 右 节点 不 为 空 ,用 左右 构建 当前 解 返回 当前 /选择 左 , 右 , 中 Divide Conquer + Traversal 不同 一般 没有 全局变量, 创建当前 变量作为当前最终解 通过 左 节点的最终解和 右 节点的最终解, 计算 并更新 当前 变量 判断 左 节点的最终解, 右 节点的最终解, 当前 变量,在三个解中 选择 一个 作为当前层的最终解 返回 更新传入的参数指针 ( 有时会单独建立 class Result 类 ) 流程 建立 当前 变量(不一定第一步) root 为 空 ( 返回 什么) left 节点和 right 节点 都 为 空 ,用 root 构建 当前 解( 返回 什么/ 更新 指针) left 节点和 right 节点 不 为 空 ,用 左右 解 leftResult , rightResult 计算 当前 解 选择 符合的解 比较 ( leftResult , rightResult , result ) + 选出 合适的解 直接使用 :当前解 使用 选中的解 返回 更新 传入的指针 例题(Minimum Subtree) public class Solution { class Result { TreeNode minSubtree; int minSum; int sum; Result(TreeNode minSubtree, int minSum, int sum) { this.minSubtree = minSubtree; this...