具有所有最深节点的最小子树
力扣链接:865. 具有所有最深节点的最小子树
力扣链接:1123. 最深叶节点的最近公共祖先
题目描述
给定一个根为 root 的二叉树,每个节点的深度是 该节点到根的最短距离 。
返回包含原始树中所有 最深节点 的 最小子树 。
如果一个节点在 整个树 的任意节点之间具有最大的深度,则该节点是 最深的 。
一个节点的 子树 是该节点加上它的所有后代的集合。
示例
Java代码
class Solution {public TreeNode lcaDeepestLeaves(TreeNode root) {if(root != null){int ldep = maxDeep(root.left), rdep = maxDeep(root.right);if(ldep == rdep) return root;else if(ldep > rdep) return lcaDeepestLeaves(root.left);else if(rdep > ldep) return lcaDeepestLeaves(root.right);}return null;}public int maxDeep(TreeNode root) {if(root == null) { return 0;}else {return Math.max(maxDeep(root.left), maxDeep(root.right)) + 1;}}
}