把数组排成最小的数
把数组排成最小的数
问题陈述
输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。
示例:
1 | 输入: [3,30,34,5,9] |
说明:
- 输出结果可能非常大,所以你需要返回一个字符串而不是整数
- 拼接起来的数字可能会有前导 0,最后结果不需要去掉前导 0
思路分析
将数字转化为字符串进行比较。如“3”,“30”比较方法:错位组合比较,330和303,得303更小。
代码实现
1 | class Solution { |
Java空字符串与null区别:
1、类型
null表示的是一个对象的值,而并不是一个字符串。例如声明一个对象的引用,String a = null ;
""表示的是一个空字符串,也就是说它的长度为0。例如声明一个字符串String str = “” ;
2、内存分配
String str = null ; 表示声明一个字符串对象的引用,但指向为null,也就是说还没有指向任何的内存空间;
String str = “”; 表示声明一个字符串类型的引用,其值为""空字符串,这个str引用指向的是空字符串的内存空间;
Arrays.sort(minArray,(s1,s2)->(s1+s2).compareTo(s2+s1))解析:
对minArray进行排序,排序方法为对其中的元素s1、s2使用比较方法:s1+s2与s2+s1连接后数值大小比较
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 淋竹调!
评论