下一个排列
第一想法是从右往左遍历,先固定第一个数,然后去找第一个比它小的数,找到后交换两数的位置,并按(两数靠左边的数,end)升序,即可完成,但是O(n)=n^2;
优解是从右往左遍历时,从下标为len-2开始向左遍历,每次都和当前下标的右边一位比较,直到找到一个比它小的数,记为n。然后从len-1下标向左遍历,找到第一个比n大的数,交换两数位置,并将(两数靠左边的数,end)升序,时间复杂度O(n)=n。