C# || How To Get Smallest String Starting From Leaf Using C#

The following is a module with functions which demonstrates how to get smallest string starting from leaf using C#.


1. Smallest String Starting From Leaf – Problem Statement

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:


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"


2. Smallest String Starting From Leaf – Solution

The following is a solution which demonstrates how to convert get smallest string starting from leaf.

QUICK NOTES:
The highlighted lines are sections of interest to look out for.

The code is heavily commented, so no further insight is necessary. If you have any questions, feel free to leave a comment below.

Once compiled, you should get this as your output for the example cases:


"dba"
"adz"
"abc"

Was this article helpful?
👍 YesNo

Leave a Reply