外观
二叉树根节点到叶子节点的最大路径
⭐ 题目日期:
字节 - 2024/10/21
🌳 题目描述:
二叉树根节点到叶子节点的最大路径
🕵🏽 面试评估:
这道题主要考查二叉树的路径,属于中等难度。
🧗难度系数:
⭐️ ⭐️ ⭐️
📝思路分析:
参照:二叉树详解中的路径
💻代码:
Java
public int largestSumFromRootToLeaf(TreeNode root) {
if (root == null) {
return 0;
}
int maxLeft = largestSumFromRootToLeaf(root.left);
int maxRight = largestSumFromRootToLeaf(root.right);
if (root.left == null) {
return root.value + maxRight;
}
if (root.right == null) {
return root.value + maxLeft;
}
return root.value + Math.max(maxLeft, maxRight);
}
🚵🏻复杂度分析:
假设 n 为二叉树节点的个数
时间复杂度:O(n), 所有的节点都被访问一次
空间复杂度:O(h), h 为树的高度。若为完全二叉树,高度为 logn