在二叉树中找到累加和为指定值的最长路径长度
题目来源:《程序员代码面试指南:IT 名企算法与数据结构题目最优解》
要点
路径是从某个结点往下,从一共存在N条从根节点到叶子节点的路径。我们只需要在这N条路径上分别求出符合 sum 的最长路径长度。
这里是求 未排序数组中累加和为给定值的最长子数组系列问题的题目以及相关解题方法。
解法
假设你已经掌握求解 未排序数组中累加和为给定值的最长子数组 的方法,那么我们的代码就是将其扩展成N条。
可以通过先序遍历,从左到右遍历每一条路径。
在二叉树中找到累加和为指定值的最长路径长度
代码片段
// 在二叉树中找到累加和为指定值的最长路径
public int getMaxLength(TreeNode root, int sum) {
if (root == null) {