题目
本题的一个注意点是计算的路径是从根节点到叶子节点的路径和,结尾是叶子节点(不能是根节点)
code:
class Solution {
public boolean hasPathSum(TreeNode root, int targetSum) {
return hasPathSumDg(root, targetSum);
}
private boolean hasPathSumDg(TreeNode cur, int sum) {
if (cur == null) {
return false;
}
// 叶子节点
if (cur.left == null && cur.right == null) {
return cur.val == sum;
}
return hasPathSumDg(cur.left, sum - cur.val ) || hasPathSumDg(cur.right, sum - cur.val);
}
}