LmaoSuVuong
Senior Member
Java:
class Solution {
public String smallestFromLeaf(TreeNode root) {
return smallestFromLeaf(root, new StringBuilder()).toString();
}
private StringBuilder smallestFromLeaf(TreeNode node,StringBuilder sb){
if(node==null) return sb;
sb.insert(0, (char) ('a' + node.val));
StringBuilder sbLeft = smallestFromLeaf(node.left, new StringBuilder(sb));
StringBuilder sbRight = smallestFromLeaf(node.right, new StringBuilder(sb));
if(node.left==null){
return sbRight;
}
else if(node.right==null){
return sbLeft;
}
return sbLeft.compareTo(sbRight)<=0?sbLeft:sbRight;
}
}