17 lines
416 B
C#
17 lines
416 B
C#
public class Solution
|
|
{
|
|
public void NextPermutation(int[] nums)
|
|
{
|
|
var i = nums.Length - 2;
|
|
while(i >= 0 && nums[i] >= nums[i+1])
|
|
i--;
|
|
if(i >= 0)
|
|
{
|
|
var j = nums.Length - 1;
|
|
while(nums[i] >= nums[j])
|
|
j--;
|
|
(nums[i], nums[j]) = (nums[j], nums[i]);
|
|
}
|
|
Array.Reverse(nums, i+1, nums.Length-i-1);
|
|
}
|
|
} |