## Problem

Given a binary tree, return all root-to-leaf paths.

For example, given the following binary tree:

1

/

2 3

5

All root-to-leaf paths are:

["1->2->5", "1->3"]

## Analysis

- Recursive constructing the path in bottom up fashion
- For each node, get its left and right paths recursively, denote them as left and right, then the recursion is
- (node.val + (each path in left))
- (node.val + (each path in right))
- Time: O(N) where N is the number of nodes in the tree