如果a+b的字典序小于b+a,就把a放在前面,否则把b放在前面。证明略。
/**
* 所有字符串组成一个字典序最小的字符串
* @param arr
* @return 字典序最小的字符串
*/
public String lowestStrign(String[] arr){
if(arr == null || arr.length == 0){
return "";
}
Arrays.sort(arr, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return (o1+o2).compareTo(o2+o1);
}
});
String res = "";
for (String s : arr) {
res += s;
}
return res;
}