题目地址:LeetCode#31.下一个排列
class Solution:
def nextPermutation(self, nums: List[int]) -> None:
"""
Do not return anything, modify nums in-place instead.
"""
if len(nums) < 2: return nums
for i in range(len(nums) - 1, 0, -1):
if nums[i] > nums[i - 1]:
nums[i:] = sorted(nums[i:])
for j in range(i, len(nums)):
if nums[j] > nums[i - 1]:
nums[j], nums[i - 1] = nums[i - 1], nums[j]
break
return
nums.sort()
看半天,思路是清晰的,就是结果总不对,对break的理解没搞清楚,又不仔细想,还一直想是不是交换两个数那句出了问题,return如果不加,那最后肯定怎么都是升序
好傻的我