算法题(8)

简介: 算法题(8)

题目

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

解题

var hasPathSum = function (root, targetSum) {
   
    if (!root) {
   
        return false
    }
    //叶子节点
    if (root.right === null && root.left === null) {
   
        return targetSum - root.val === 0
    }
    //拆成两个子树
    return hasPathSum(root.left, targetSum - root.val) || hasPathSum(root.right, targetSum - root.val)

};
相关文章
|
算法 C++ 计算机视觉
区域生长算法 C++实现
在比赛和项目中用opencv用多了,就会发现很多opencv没有实现的算法,其中一些还是十分常用,在教科书上经常出现的。作为一个弱鸡,有的简单的算法能够自己实现(比如本文所要讲的),有的写到一半就打出GG,有的直接就下不了手。
1935 0
|
4月前
|
存储 传感器 编解码
|
4月前
|
算法 调度 C#
|
自然语言处理 算法 程序员
解答算法题的一个小技巧
解答算法题的一个小技巧
|
算法
算法
一、算法 常见的图查找算法包括: 1. 深度优先搜索(DFS):从图中的一个节点开始,沿着一条路径一直深入直到无法再深入为止,然后回溯到上一个节点,继续深入其他路径,直到找到目标节点或遍历完所有节点。 2. 广度优先搜索(BFS):从图中的一个节点开始,先访问它的所有邻居节点,然后再依次访问邻居的邻居节点,直到找到目标节点或遍历完所有节点。 3. Dijkstra算法:用于在带权有向图中找到从一个节点到其他节点的最短路径。该算法通过不断更新节点的最短距离来逐步找到最短路径。 4. A*算法:类似于Dijkstra算法,但在计算最短路径时加入了启发式函数,用于估计目标节点的距离,从而加速搜索过程
392 0
|
算法
海王算法(看完不会变成海王)
海王算法(看完不会变成海王)
160 0
海王算法(看完不会变成海王)
|
算法 数据安全/隐私保护
《算法》世界 二
一.算法要素 1.数据对象的运算和操作:计算机可以执行的基本操作是以指令的形式描述的。一个计算机系统能执行的所有指令的集合,成为该计算机系统的指令系统。一个计算机的基本运算和操作有如下四类: 1.算术运算:加减乘除等运算 2.逻辑运算:或、且、非等运算 3.关系运算:大于、小于、等于、不等于等运算 4.数据传输:输入、输出、赋值等运算 2.算法的控制结构:一个算法的功能结构不仅取决于所选用的操作,而且还与各操作之间的执行顺序有关。
170 1
《算法》世界 二
|
算法
BWT算法
BWT算法
202 0
BWT算法
|
算法
A*算法
A*算法
233 0
A*算法
|
存储 算法 测试技术
《算法》世界
一.什么是算法 算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。一个算法必须具有:有穷性、确切性、输入项、输出项、可行性五个性质。
216 0
《算法》世界