defquick_sort_recursion(nums, left, right): if left >= right: return pivot_loc = partition(nums, left, right) quick_sort_recursion(nums, left, pivot_loc-1) quick_sort_recursion(nums, pivot_loc+1, right)
defpartition(nums, left, right): pivot = nums[left] while left < right: while left < right and nums[right] + pivot >= pivot + nums[right]: right -= 1# 排序规则发生改变 nums[left] = nums[right] while left < right and nums[left] + pivot <= pivot + nums[left]: left += 1# 排序规则发生改变 nums[right] = nums[left] nums[left] = pivot return left
nums = [str(num) for num in nums] quick_sort(nums) return''.join(nums)