题目中是对 list 中的数字进行重组排列,可重写排序时的比较函数 cmp 使结果较大的数字排在前面,注意的是 Python3中没有 cmp 函数,比较函数为 functools.cmp_to_key;
代码:
from functools import cmp_to_key
class Solution:
def solve(self , nums ):
# write code here
def cmp(a, b):
c_1, c_2 = int(str(a) + str(b)), int(str(b) + str(a))
if c_1 == c_2:
return 0
elif c_1 < c_2:
return 1
else:
return -1
return str(int(''.join(map(str, sorted(nums, key=cmp_to_key(cmp))))))