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.
Input: root = [0,1,2,3,4,3,4]
Output: "dba"
Input: root = [25,1,3,1,3,0,2]
Output: "adz"
[1, 8500]
.0 <= Node.val <= 25
使用 dfs 往下找到 leaf 節點再計算他的字串比較,原本想要使用中止條件 if (!node) return;
作為比較字串的地方,但是發現在很多情況不適用。直接使用 if (!node->left && !node->right)
較為恰當。
tmp.erase(0, 1)
用來刪除字串第一項。
我認為這方法不錯,可以進 beats 100%