美文网首页
437. 路径总和 III

437. 路径总和 III

作者: 名字是乱打的 | 来源:发表于2021-12-23 01:16 被阅读0次

一 题目:

二 思路:

  • 递归:每个结点作为开始结点向下寻找和为target的路径
  • 注意:
  • 1.结点本身可能就值为target
  • 2 这里不能过程中返回,因为咱们这个数存在负数,不到null结点都有可能是我们的目标

三 代码:

class Solution {

    public int pathSum(TreeNode root, int targetSum) {
        if (root==null){
            return 0;
        }
        int count =dfs(root,targetSum);
        int countLeft = pathSum(root.left, targetSum);
        int countRight=pathSum(root.right,targetSum);
        return count+countLeft+countRight;
    }

    /**
     * 以curr为起点的连续路径是否有结点和为targetSum的数
     * count当前起点和为tarsum的值个数
     */
    private int dfs(TreeNode root, int targetSum) {
        if (root==null){
            return 0;
        }
        targetSum-=root.val;

        //当前结点是否已满足条件
        int curr=0;
        if (targetSum==0){
            curr=1;
        }

        //这里不能加currVal>targetSum或者root.val>targetSum因为咱注意到里面有负数,人家后面还是有希望翻盘的

        return curr+dfs(root.left,targetSum)+dfs(root.right,targetSum);
    }
}

相关文章

  • 437. 路径总和 III

    给定一个二叉树,它的每个结点都存放着一个整数值。 找出路径和等于给定数值的路径总数。 路径不需要从根节点开始,也不...

  • 437.路径总和III

    题目描述 给定一个二叉树,它的每个结点都存放着一个整数值。 找出路径和等于给定数值的路径总数。 路径不需要从根节点...

  • 437. 路径总和 III

    给定一个二叉树的根节点 root ,和一个整数 targetSum ,求该二叉树里节点值之和等于 targetSu...

  • 437. 路径总和 III

    解法 深度优先遍历,粗暴解法,计算每个节点向下所有满足目标和的路径,时间复杂度为O(N*N) 前缀和解法,时间复杂...

  • 437. 路径总和 III

    一 题目: 二 思路: 递归:每个结点作为开始结点向下寻找和为target的路径 注意: 1.结点本身可能就值为t...

  • 【LeetCode】437. 路径总和 III

    437. 路径总和 III 给定一个二叉树,它的每个结点都存放着一个整数值。 找出路径和等于给定数值的路径总数。 ...

  • 小争哥算法题打卡记录

    第十周算法题 1、437. 路径总和 III 2、| 889. 根据前序和后序遍历构造二叉树[https://le...

  • Leetcode Path sum 路径求和III II

    437.路径总和 III 给定一个二叉树,它的每个结点都存放着一个整数值。 找出路径和等于给定数值的路径总数。 路...

  • 路径总和 III

    题目来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/path...

  • Leetcode 437. 路径总和 III(先序遍历+哈希)

    问题描述 给定一个二叉树,它的每个结点都存放着一个整数值。找出路径和等于给定数值的路径总数。路径不需要从根节点开始...

网友评论

      本文标题:437. 路径总和 III

      本文链接:https://www.haomeiwen.com/subject/bzocqrtx.html