应用题-二叉树专题-二叉树的所有路径
# 二叉树的所有路径
## 题目描述
给你一个二叉树的根节点 `root`,按 **任意顺序**,返回所有从根节点到叶子节点的路径。
**叶子节点** 是指没有子节点的节点。
## 示例
### 示例 1
**输入:** `root = [1,2,3,null,5]`
**输出:** `["1->2->5","1->3"]`
```python
# 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]:
self.paths = []
def cal_path( r, p ):
if not r: return
p.append( str( r.val ) )
if not r.left and not r.right:
self.paths.append( '->'.join( p ) )
p.pop()
return
cal_path( r.left, p )
cal_path( r.right, p )
p.pop()
cal_path( root, [] )
return self.paths
```