题目描述

方法思路
class Solution {
//Runtime: 0 ms, faster than 100.00%
//Memory Usage: 38.6 MB, less than 51.70%
public boolean hasPathSum(TreeNode root, int sum) {
if(root == null) return false;
//必须确保和为SUM时,当前节点为树叶节点
if((sum - root.val) == 0 && root.left == null && root.right == null)
return true;
boolean left = hasPathSum(root.left, sum - root.val);
boolean right = hasPathSum(root.right, sum - root.val);
return left || right;
}
}

本文介绍了一种高效判断二叉树中是否存在指定路径和的方法。通过递归遍历树结构,当达到叶子节点时检查剩余和是否为零,以此确定路径是否存在。此算法在时间上优于所有情况,在内存使用上表现良好。
442

被折叠的 条评论
为什么被折叠?



