题目描述
输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。
AC代码
import java
.util
.ArrayList
;
import java
.util
.Collections
;
import java
.util
.Comparator
;
import java
.util
.List
;
public class Solution {
public String
PrintMinNumber(int [] numbers
) {
StringBuilder sb
= new StringBuilder();
List
<String> list
= new ArrayList<>();
for(int number
: numbers
) list
.add(number
+ "");
Collections
.sort(list
, new Comparator<String>() {
@Override
public int compare(String o1
, String o2
) {
return (o1
+ o2
).compareTo((o2
+ o1
));
}
});
for(String s
: list
)
sb
.append(s
);
return sb
.toString();
}
}
转载请注明原文地址: https://www.6miu.com/read-5028900.html