首页 > 其他分享 >力扣112 路径总和

力扣112 路径总和

时间:2023-02-02 00:22:38浏览次数:42  
标签:right sum 力扣 targetSum 112 null root 节点 总和

题目:

给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。
叶子节点 是指没有子节点的节点。

示例:

输入:root = [5,4,8,11,null,13,4,7,2,null,null,null,1], targetSum = 22
输出:true
解释:等于目标和的根节点到叶节点路径如上图所示。

思路:

递归,求和,遇到叶子节点比较sum和targetSum,相等则返回true。

class Solution {
    public boolean hasPathSum(TreeNode root, int targetSum) {
        if(root==null){
            return false;
        }
        return getPathSum(root,targetSum);
    }

    public boolean getPathSum(TreeNode root,int targetSum){
        int sum=0;
        sum+=root.val;
        if(root.left==null&&root.right==null){//叶子节点
            if(sum==targetSum){
                return true;
            }
        }
        if(root.left!=null){
            sum+=root.left.val;
            getPathSum(root.left,targetSum);
            sum-=root.left.val;//回溯
        }
        if(root.right!=null){
            sum+=root.right.val;
            getPathSum(root.right,targetSum);
            sum-=root.right.val;//回溯
        }
        return false;
    }
}

 

标签:right,sum,力扣,targetSum,112,null,root,节点,总和
From: https://www.cnblogs.com/cjhtxdy/p/17084569.html

相关文章

  • 力扣---2047. 句子中的有效单词数
    句子仅由小写字母('a'到'z')、数字('0'到'9')、连字符('-')、标点符号('!'、'.'和',')以及空格('')组成。每个句子可以根据空格分解成一个或者多个token,这些token之间由......
  • MySQL(五)汇总和分组数据
    一、汇总数据工作中经常需要汇总数据而不是将它们全部检索出来(实际数据本身:返回实际数据是对时间和处理资源的浪费),这种类型的检索有以下特点:①确定表中的行数(或者满足某个条......
  • 力扣---2432. 处理用时最长的那个任务的员工
    共有n位员工,每位员工都有一个从0到n-1的唯一id。给你一个二维整数数组logs,其中logs[i]=[idi,leaveTimei]:   idi是处理第i个任务的员工的id,且 ......
  • 力扣513 找树左下角的值
    题目:给定一个二叉树的根节点root,请找出该二叉树的最底层最左边节点的值。假设二叉树中至少有一个节点。示例:输入:[1,2,3,4,null,5,6,null,null,7]输出:7......
  • 力扣---196. 删除重复的电子邮箱
    表:Person+-------------+---------+|ColumnName|Type   |+-------------+---------+|id         |int    ||email      |varchar|+-......
  • 力扣404 左叶子之和
    题目:给定二叉树的根节点root,返回所有左叶子之和。示例:输入:root=[3,9,20,null,null,15,7]输出:24解释:在这个二叉树中,有两个左叶子,分别是9和15,所以返......
  • 力扣---1148. 文章浏览 I
    Views表:+---------------+---------+|ColumnName  |Type   |+---------------+---------+|article_id   |int    ||author_id    |int   ......
  • 力扣4. 寻找两个正序数组的中位数
    给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。算法的时间复杂度应该为 O(log(m+n)) 。 示例......
  • 力扣---1581. 进店却未进行过交易的顾客
    表:Visits+-------------+---------+|ColumnName|Type   |+-------------+---------+|visit_id   |int    ||customer_id|int    |+-----------......
  • 算法刷题 Day 27 | ● 39. 组合总和 ● 40.组合总和II ● 131.分割回文串
    今日任务组合总和组合总和II分割回文串详细布置39.组合总和本题是集合里元素可以用无数次,那么和组合问题的差别其实仅在于startIndex上的控制题目链接/......