题目描述
输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。
解题思路
先将正整数数组转换成字符串数组,然后排序,最后将排好序的字符串数组拼接起来,并转为int型。
排序规则如下:
若ab > ba 就a > b,则交换
刚开始尝试的规则是:
若a > b, 则交换
运行后发现有很多测试用例过不了,所以干脆就先拼接成长度一样的进行比较。最终得到结果。
代码如下