1. class Solution {
    2. public boolean hasPathSum(TreeNode root, int targetSum) {
    3. // 这样递归才有终止条件
    4. if (root == null) {
    5. return false;
    6. // 题目的诉求:根节点到叶子节点 的路径,所以要走到其没有左右子树
    7. } else if (root.left == null && root.right == null) {
    8. // 走到叶子节点这判断该条路是否为正确路径
    9. return targetSum == root.val;
    10. } else {
    11. int curVal = targetSum - root.val;
    12. return hasPathSum(root.left, curVal) || hasPathSum(root.right, curVal);
    13. }
    14. }
    15. }