import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param strs string字符串一维数组 the strings * @return string字符串 */ public String minString (String[] strs) { // write code here // 解题思路:1.对所有字符串排序,采用优先级队列。 // 2.拼接排序后的字符串 if (strs == null ) { return null; } if ( strs.length <= 1) { return strs[0]; } PriorityQueue<String> queue = new PriorityQueue<>(new Comparator<String>() { public int compare(String str1, String str2) { return (str1 + str2).compareTo(str2 + str1); } }); for (String s : strs) { queue.offer(s); } StringBuilder strBuilder = new StringBuilder(); while (!queue.isEmpty()) { strBuilder.append(queue.poll()); } return strBuilder.toString(); } }