问题描述:
编写程序,定义一个函数,接收一个包含若干自然数的列表data作为参数,要求重新排列这些自然数并返回新的列表,使得新列表中全部数字先后拼接起来得到的自然数最小,并且原列表data中不影响结果的自然数重新排列后保持原来的相对顺序。例如,
[345, 555, 912, 22, 1, 2, 5, 23]作为参数时返回[1, 22, 2, 23, 345, 555, 5, 912],
[5, 4, 3, 2, 1]作为参数时返回[1, 2, 3, 4, 5],
[22222, 22, 2222, 222, 2]作为参数时返回[22222, 22, 2222, 222, 2],
[3, 30, 300, 3000, 30000]作为参数时返回[30000, 3000, 300, 30, 3]。
参考代码:
运行结果: