题目描述

LeetCode——路径总和(DFS)_leetcode

解题思路

本题的核心解题思路是使用DFS,每次遍历完一条路径,走到叶子节点之后看是否这条路径的和与targetsum一致,一致则返回true,反之则返回false。

AC代码

var hasPathSum = function (root, targetSum) {
    
    if (!root) return false;

    if (root.left === null && root.right === null) {
        if (targetSum - root.val === 0) {
            return true;
        }
        return false;
    }

    return hasPathSum(root.left,targetSum-root.val) || hasPathSum(root.right,targetSum-root.val);

};

题目反思

  • 学会DFS来遍历二叉树。
  • 学会使用递减归零的思想来判断和的问题。