-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path229.py
More file actions
25 lines (22 loc) · 821 Bytes
/
229.py
File metadata and controls
25 lines (22 loc) · 821 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def binaryTreePaths(self, root: Optional[TreeNode]) -> List[str]:
queue = deque()
queue.append((root, ""))
result = []
while len(queue) > 0:
node, prefix = queue.popleft()
if node.left == node.right == None:
result.append(f"{prefix}{node.val}")
else:
new_path = f"{prefix}{node.val}->"
if node.left is not None:
queue.append((node.left, new_path))
if node.right is not None:
queue.append((node.right, new_path))
return result