leetcode hot100

437. 路径总和 III

已解答

中等

相关标签

相关企业

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

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

简单算法是遍历一遍所有节点,然后去搜索这个节点开始的所有路径的总和是不是符合条件

Definition for a binary tree node.

class TreeNode(object):

def init(self, val=0, left=None, right=None):

self.val = val

self.left = left

self.right = right

class Solution(object):

def pathSum(self, root, targetSum):

"""

:type root: Optional[TreeNode]

:type targetSum: int

:rtype: int

"""

self.ret = 0

if root:

queue = [root]

else:

queue=[]

def dfs(tmp,targetSum):

if tmp==None:

return 0

else:

if tmp.val == targetSum:

self.ret+=1

dfs(tmp.left,targetSum-tmp.val)

dfs(tmp.right,targetSum-tmp.val)

while len(queue):

tmp = queue[0]

x1 = dfs(tmp,targetSum)

del queue[0]

if tmp.left:

queue.append(tmp.left)

if tmp.right:

queue.append(tmp.right)

return self.ret

难的办法没看懂

相关推荐
Dlrb121121 小时前
C语言-指针三
c语言·算法·指针·const·命令行参数
Tisfy21 小时前
LeetCode 2540.最小公共值:双指针(O(m+n))
算法·leetcode·题解·双指针
IronMurphy21 小时前
【算法四十七】152. 乘积最大子数组
算法
淘矿人1 天前
Claude辅助DevOps实践
java·大数据·运维·人工智能·算法·bug·devops
Cosolar1 天前
万字详解:RAG 向量索引算法与向量数据库架构及实战
数据库·人工智能·算法·数据库架构·milvus
小江的记录本1 天前
【Java基础】泛型:泛型擦除、通配符、上下界限定(附《思维导图》+《面试高频考点清单》)
java·数据结构·后端·mysql·spring·面试·职场和发展
ychqsq1 天前
20.面试
经验分享·职场和发展
凯瑟琳.奥古斯特1 天前
数据冗余与规范化的本质[数据库原理]
开发语言·数据库·职场和发展
落羽的落羽1 天前
【算法札记】练习 | Week4
linux·服务器·数据结构·c++·人工智能·算法·动态规划