刚开始像的简单了,因为sort()函数就是将数组元素转化为字符串进行排序的,所以直接只用了,但发现一些特殊情况,比如3,34,35和3,32,31,在第一个数相同的情况下,直接使用sort函数就不对了,

  • 利用sort接收的比较函数进行比较,如果A+B < B+A,那么A就应该排在B前面

function PrintMinNumber(numbers)
{
    // write code here
//     if (numbers == []) {
//         return ""
//     }
//     numbers = numbers.sort().reduce((pre, cur) => {
//         return pre.concat(cur.toString());
//     }, '');
//     return numbers
    return numbers.sort((a,b) => {
        return (a+''+b) - (b+''+a)}).join('')
    
}
module.exports = {
    PrintMinNumber : PrintMinNumber
};