Smallest String Starting From Leaf

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.

Example 1
        0
       / \
      1   2
     / \ / \
    3  4 3  4
Inputroot = [0,1,2,3,4,3,4]
Output"dba"
The lexicographically smallest string from a leaf to the root is "dba".
Example 2
        25
       /  \
      1    3
     / \  / \
    1   3 0  2
Inputroot = [25,1,3,1,3,0,2]
Output"adz"
The lexicographically smallest string from a leaf to the root is "adz".

Constraints

  • The number of nodes in the tree is in the range [1, 8500].
  • 0 <= Node.val <= 25

Asked at 2 companies

</>

Your Solution

(Ctrl/Cmd + Enter)

Switching Language

Loading template...

Loading...

Sign in to save your progress

AI code evaluation

Get a correctness verdict, missed edge cases, and complexity analysis of your solution.

Sign in to evaluate