class Solution: def nextPermutation(self, nums):
if len(nums) <= 1: return nums
partition = -1
for i in range(len(nums)-2, -1, -1):
if nums[i] < nums[i+1]:
partition = i
break
if partition == -1:
return nums.reverse()
for i in range(len(nums) -1, partition, -1):
if nums[i] > nums[partition]:
nums[i] , nums[partition] = nums[partition] , nums[i]
for i in range(len(nums) -1, partition +1, -1):
if nums[i] < nums[i-1]:
nums[i],nums[i-1]= nums[i-1],nums[i]
return nums
Next Permutation
最新推荐文章于 2021-01-14 15:08:04 发布