988. Smallest String Starting From Leaf
Solution
這題想法很簡單,可以想到。
但程式很難想的可以通過各種test case。
我用StringBuilder怎麼寫都錯。
但參考discussion用 String就可以寫出沒問題的solution
public String smallestFromLeaf(TreeNode root) {
return dfs(root, "");
}
public String dfs(TreeNode node, String suffix){
if(node == null) return suffix;
suffix = (char)(node.val + 'a') + suffix;
if(node.left == null && node.right == null){
return suffix;
}
if(node.left == null){
return dfs(node.right, suffix);
}
if(node.right == null){
return dfs(node.left, suffix);
}
String left = dfs(node.left, suffix);
String right = dfs(node.right, suffix);
if(left.compareTo(right) > 0){
return right;
}
else{
return left;
}
}
Last updated
Was this helpful?