179. 最大数

  1. [题目链接](179. 最大数 - 力扣(LeetCode))

  2. 解题思路:x拼接y大于y拼接x后,那么x就应该放前面。自定义排序就行了。

    • 还要注意把前导0给去掉
  3. 代码

    class Solution:
    
        def myCompare(self, x, y):
            # 比较两个字符串拼接后的结果
            if str(x) + str(y) > str(y) + str(x):
                return -1  # x 在 y 前面
            elif str(x) + str(y) < str(y) + str(x):
                return 1  # y 在 x 前面
            else:
                return 0  # 相等
    
        def largestNumber(self, nums: List[int]) -> str:
            sorted_nums = sorted(nums, key=cmp_to_key(self.myCompare))
            ans = ""
            for num in sorted_nums:
                ans += str(num)
            return ans.lstrip('0') or '0'
    
posted @ 2025-01-09 11:15  ouyangxx  阅读(13)  评论(0)    收藏  举报