988. Smallest String Starting From Leaf
1. Description
You are given the root of a binary tree where each node has a value in the range [0, 25] representing the letters ‘a’ to ‘z’.
Return the lexicographically smallest string that starts at a leaf of this tree and ends at the root.
As a reminder, any shorter prefix of a string is lexicographically smaller.
- For example, “ab” is lexicographically smaller than “aba”.
A leaf of a node is a node that has no children.
2. Example
Example 1

Input: root = [0,1,2,3,4,3,4]
Output: “dba”
Example 2

Input: root = [25,1,3,1,3,0,2]
Output: “adz”
Example 3

Input: root = [2,2,1,null,1,0,null,0]
Output: “abc”
3. Constraints
- The number of nodes in the tree is in the range [1, 8500].
- 0 <= Node.val <= 25
4. Solutions
Depth-First Search
n is the number of nodes in root
Time complexity: O(n):
Space complexity: O(n)
| |