class Solution {
public void nextPermutation(int[] nums) {
int length=nums.length;
int i=length-2;
while(i>=0&&nums[i]>=nums[i+1]){
i--;
}
if (i >= 0) {
int j=length-1;
while(j>=0&&nums[j]<=nums[i]){
j--;
}
int temp=nums[j];
nums[j]=nums[i];
nums[i]=temp;
}
int left=i+1,right=length-1;
while(left<right){
int temp1=nums[left];
nums[left]=nums[right];
nums[right]=temp1;
left++;
right--;
}
}
}
题目就是你知不知道这么想的问题,我还做了个实验。之前说++i比i++快,正好拿这题做了验证,还真是。上面这个i++的写法,结果如下:
如果改为++i的话就是:
而且我还发现力扣更神奇的想象,从i++改为++i的头几次提交还是低时间复杂度,而后面多运行几次才变成100%。。。有意思