天天看点

LeetCode——路径总和(DFS)

题目描述

LeetCode——路径总和(DFS)

解题思路

本题的核心解题思路是使用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来遍历二叉树。
  • 学会使用递减归零的思想来判断和的问题。

继续阅读