437. 路径总和 III --力扣 --JAVA

简介: 给定一个二叉树的根节点 root ,和一个整数 targetSum ,求该二叉树里节点值之和等于 targetSum 的 路径 的数目。路径 不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。

 题目

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

路径 不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。

解题思路

    1. 从每个节点开始向子节点遍历累加,当前达到目标值是结果加1;
    2. 方法一递归调用方法一;
    3. 方法二以当前节点的值为起始累加,符合结果则加1;

    代码展示

    class Solution {
        int ans = 0;
        int target;
        public int pathSum(TreeNode root, int targetSum) {
            target = targetSum;
            dfs1(root);
            return ans;
        }
        public void dfs1(TreeNode root){
            if(root == null){
                return;
            }
            dfs2(root,root.val);
            dfs1(root.left);
            dfs1(root.right);
        }
        public void dfs2(TreeNode root, long val){
            if(val == target) {
                ans++;
            } 
            //不用else if避免存在先+后-或先-后+的情况,所以只要还存在子节点就需要遍历
            if (root.left != null) {
                dfs2(root.left, val + root.left.val);
            } 
            if(root.right != null){
                dfs2(root.right, val + root.right.val);
            }
        }
    }

    image.gif


    目录
    相关文章
    |
    4天前
    |
    Java
    java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
    java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
    12 2
    java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
    |
    6天前
    |
    Java
    java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
    java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
    18 4
    |
    7天前
    |
    域名解析 分布式计算 网络协议
    java遍历hdfs路径信息,报错EOFException
    java遍历hdfs路径信息,报错EOFException
    21 3
    |
    2月前
    |
    存储 算法 Linux
    LeetCode第71题简化路径
    文章讲述了LeetCode第71题"简化路径"的解题方法,利用栈的数据结构特性来处理路径中的"."和"..",实现路径的简化。
    LeetCode第71题简化路径
    |
    2月前
    |
    算法
    LeetCode第64题最小路径和
    LeetCode第64题"最小路径和"的解题方法,运用动态规划思想,通过构建一个dp数组来记录到达每个点的最小路径和,从而高效求解。
    LeetCode第64题最小路径和
    |
    2月前
    |
    算法 Java
    LeetCode经典算法题:矩阵中省份数量经典题目+三角形最大周长java多种解法详解
    LeetCode经典算法题:矩阵中省份数量经典题目+三角形最大周长java多种解法详解
    39 6
    |
    2月前
    |
    存储 算法 Java
    LeetCode经典算法题:打家劫舍java详解
    LeetCode经典算法题:打家劫舍java详解
    55 2
    |
    2月前
    |
    人工智能 算法 Java
    LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
    LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
    41 1
    |
    2月前
    |
    存储 算法 Java
    LeetCode经典算法题:预测赢家+香槟塔java解法
    LeetCode经典算法题:预测赢家+香槟塔java解法
    40 1
    |
    2月前
    |
    算法 JavaScript Python
    【Leetcode刷题Python】79. 单词搜索和剑指 Offer 12. 矩阵中的路径
    Leetcode第79题"单词搜索"的Python解决方案,使用回溯算法在给定的二维字符网格中搜索单词,判断单词是否存在于网格中。
    25 4
    下一篇
    无影云桌面