给你二叉树的根节点 root 和一个表示目标和的整数 targetSum ,判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有**节点值相加等于目标和** targetSum 。

叶子节点 是指没有子节点的节点。

2. 路径总和 - 图1

  1. 输入:root = [5,4,8,11,null,13,4,7,2,null,null,null,1], targetSum = 22
  2. 输出:true

DFS:前序遍历

  1. 递归出口是叶子结点

  2. 每次进入就减掉当前值,到最后叶子结点验证是否等于sum就行了
  3. 递归左右子树 ```javascript var hasPathSum = function (root, sum) { // 根节点为空 if (!root) return false;

    // 叶节点 返回 sum 参数是否等于叶节点值 if (!root.left && !root.right) { return root.val === sum; }

    // 总和减去当前值,并递归 sum = sum - root.val return hasPathSum(root.left, sum) || hasPathSum(root.right, sum); };

```