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


    目录
    相关文章
    |
    24天前
    【LeetCode 35】112.路径总和
    【LeetCode 35】112.路径总和
    21 0
    |
    24天前
    【LeetCode 36】113.路径总和II
    【LeetCode 36】113.路径总和II
    27 0
    |
    15天前
    |
    IDE Java 编译器
    Java:如何确定编译和运行时类路径是否一致
    类路径(Classpath)是JVM用于查找类文件的路径列表,对编译和运行Java程序至关重要。编译时通过`javac -classpath`指定,运行时通过`java -classpath`指定。IDE如Eclipse和IntelliJ IDEA也提供界面管理类路径。确保编译和运行时类路径一致,特别是外部库和项目内部类的路径设置。
    |
    1月前
    |
    Java
    java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
    java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
    54 2
    java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
    |
    2月前
    |
    Java
    java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
    java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
    47 4
    |
    2月前
    |
    域名解析 分布式计算 网络协议
    java遍历hdfs路径信息,报错EOFException
    java遍历hdfs路径信息,报错EOFException
    34 3
    |
    24天前
    【LeetCode 34】257.二叉树的所有路径
    【LeetCode 34】257.二叉树的所有路径
    11 0
    |
    25天前
    |
    算法 Java
    LeetCode(一)Java
    LeetCode(一)Java
    |
    3月前
    |
    存储 算法 Linux
    LeetCode第71题简化路径
    文章讲述了LeetCode第71题"简化路径"的解题方法,利用栈的数据结构特性来处理路径中的"."和"..",实现路径的简化。
    LeetCode第71题简化路径
    |
    3月前
    |
    算法
    LeetCode第64题最小路径和
    LeetCode第64题"最小路径和"的解题方法,运用动态规划思想,通过构建一个dp数组来记录到达每个点的最小路径和,从而高效求解。
    LeetCode第64题最小路径和