一、题目
二、代码
class Solution
{
public:
void nextPermutation(vector<int>& nums)
{
int i,j;
for(i=nums.size()-1;i>=0;i--)
{
for(j=nums.size()-1;j>i;j--) //第一个 后方j 大于前方i 的调换,之后将后面数字排序
{
if(nums[j]>nums[i])
{
swap(nums[j],nums[i]);
sort(nums.begin()+i+1,nums.end());
return;
}
}
}
//如果上方无操作 说明是降序 就反转
reverse(nums.begin(),nums.end());
}
};