您的位置:首页 > 其它

拼接字符串数组使字典序最小

2017-05-18 16:50 239 查看
对于一个给定的字符串数组,请找到一种拼接顺序,使所有小字符串拼接成的大字符串是所有可能的拼接中字典序最小的。

给定一个字符串数组strs,同时给定它的大小,请返回拼接成的串。

测试样例:

["abc","de"],2


"abcde"

import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;

public class _3_8拼接最小字典序练习 {
public static String findSmallest(String[] strs, int n) {

Arrays.sort(strs, new MyComparator());
StringBuffer sb = new StringBuffer();
for (int i = 0; i < strs.length; i++) {
sb.append(strs[i]);
}
return sb.toString();
}

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
String[] arr = s.split(" ");
System.out.println(findSmallest(arr, arr.length));
}
}

class MyComparator implements Comparator<String> {
@Override
public int compare(String o1, String o2) {
return (o1 + o2).compareTo(o2 + o1);		//排序规则
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: