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

难的办法没看懂

相关推荐
不染尘.4 分钟前
二叉树相关题目
开发语言·数据结构·c++·算法
Imxyk18 分钟前
力扣:632. 最小区间(贪心)
java·数据结构·算法
June bug21 分钟前
软件测试面试常见问答题2
面试·职场和发展
Mr_Xuhhh23 分钟前
递归和迭代的区别(C/C++实现)
算法
历程里程碑25 分钟前
21:重谈重定义理解一切皆“文件“及缓存区
linux·c语言·开发语言·数据结构·c++·算法·缓存
2501_9011478327 分钟前
PyTorch DDP官方文档学习笔记(核心干货版)
pytorch·笔记·学习·算法·面试
Daydream.V30 分钟前
决策树三中分类标准
算法·决策树·分类
闲人不梦卿39 分钟前
数据结构之排序方法
数据结构·算法·排序算法
TracyCoder12340 分钟前
LeetCode Hot100(24/100)——21. 合并两个有序链表
算法·leetcode·链表
power 雀儿42 分钟前
前馈网络+层归一化
人工智能·算法