LeetCode113. 路径总和 II(DFS)(递归)

题目描述

给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。
说明: 叶子节点是指没有子节点的节点。

在这里插入图片描述

思路

详见链接

代码

class TreeNode:
	def __init__(self,x):
		self.val = x
		self.left = None
		self.right = None

class Solution:
	def pathSum(self, root:TreeNode, sum:int) -> List[List[int]]:
		res = []
		if not root:
			return []
		def backtrack(root,sum,tmp):
			if not root:
				return
			if not root.left and not root.right and sum - root.val == 0:
				tmp += [root.val]
				res.append(tmp)
				return 
			backtrack(root.left,sum-root.val,tmp+[root.val])
			backtrack(root.right,sum-root.val,tmp+[root.val])
		backtrack(root,sum,[])
		return res
发布了143 篇原创文章 · 获赞 388 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_37763870/article/details/104882430