美文网首页数据结构与算法
Leetcode 112 路径总和

Leetcode 112 路径总和

作者: itbird01 | 来源:发表于2021-12-19 00:09 被阅读0次

112. 路径总和

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

解题思路

解法1:递归
1.假设当前节点为k,根节点到当前节点的和为val,那么如果有叶子节点满足targetSum的话,一定满足条件:根节点到当前节点的和==targetSum-当前节点的下一节点到叶子节点的和
2.递归还有一个重要条件需要找到,即结束条件,我们知道叶子节点的判断条件为:root.left == null && root.right == null
3.由1推导可知,如果此时的叶子节点满足条件,一定满足条件current.val == vSum,这里的vSum实际上前面targetSum一直在递归过程中,减去叶子节点之前的节点的差,即vSum=targetSum-current上面所有节点值

解题遇到的问题

后续需要总结学习的知识点

需要深入总结学习DFS/BFS/递归/迭代 与队列、栈的相互关系

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

        if (root.left == null && root.right == null) {
            return root.val == targetSum;
        }

        return hasPathSum(root.left, targetSum - root.val)
                || hasPathSum(root.right, targetSum - root.val);
    }

    public class TreeNode {
        int val;
        TreeNode left;
        TreeNode right;
        TreeNode() {
        }
        TreeNode(int val) {
            this.val = val;
        }
        TreeNode(int val, TreeNode left, TreeNode right) {
            this.val = val;
            this.left = left;
            this.right = right;
        }
    }
}

相关文章

  • 回溯,贪心,动态规划

    1.回溯算法思想leetcode 112 号算法题:路径总和leetcode 113 号算法题:路径总和 IIle...

  • Leetcode 112 路径总和

    112. 路径总和[https://leetcode-cn.com/problems/path-sum/] 题意:...

  • 【D4】路径总和 & 路径总和 II (LC 112&113)

    112. 路径总和[https://leetcode-cn.com/problems/path-sum/] 问题描...

  • Leetcode 112 路径总和

    路径总和 题目 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于...

  • leetcode 112 路径总和

    俺的写法是递归找到每一条路径,算出总和添加到一个列表中,在判断存在不存在。 看了下比较好的写法,直接用给的和递归减...

  • LeetCode - #112 路径总和

    前言 我们社区陆续会将顾毅(Netflix 增长黑客,《iOS 面试之道》作者,ACE 职业健身教练。)的 Swi...

  • LeetCode 112. 路径总和

    题目 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。 ...

  • leetcode--112--路径总和

    题目:给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。 ...

  • leetcode 112. 路径总和

  • leetcode 112.路径总和

    题目描述 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和...

网友评论

    本文标题:Leetcode 112 路径总和

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