Skip to content

Commit c24c92d

Browse files
committed
Create 98. 二叉树中和为某一值的路径.md
1 parent 9f0eee6 commit c24c92d

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
***给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。叶子节点 是指没有子节点的节点。***
2+
3+
```
4+
# Definition for a binary tree node.
5+
# class TreeNode:
6+
# def __init__(self, val=0, left=None, right=None):
7+
# self.val = val
8+
# self.left = left
9+
# self.right = right
10+
class Solution:
11+
def pathSum(self, root: TreeNode, target: int) -> List[List[int]]:
12+
if not root:
13+
return []
14+
res = []
15+
node = root
16+
cur = [root.val]
17+
#构造递归
18+
def dfs(node, cur):
19+
#递归终止条件
20+
if not (node.left or node.right):
21+
if sum(cur) == target:
22+
res.append(cur)
23+
return
24+
#情况1
25+
if node.left:
26+
dfs(node.left, cur+[node.left.val])
27+
#情况2
28+
if node.right:
29+
dfs(node.right, cur+[node.right.val])
30+
#调用递归
31+
dfs(node, cur)
32+
return res
33+
```

0 commit comments

Comments
 (0)