题目:
分析:一道出现多次的基础题了。
代码:
class Solution {
public:
void nextPermutation(vector<int>& nums) {
int ii;
for(ii=nums.size()-2;ii>=0;ii--)
{
if(nums[ii]>=nums[ii+1]) continue;
break;
}
if(ii==-1)
{
for(int i=0;i<nums.size()/2;i++)
{
swap(nums[i],nums[nums.size()-1-i]);
}
return;
}
for(int i=nums.size()-1;i>=0;i--)
{
if(nums[i]>nums[ii])
{
swap(nums[i],nums[ii]);
break;
}
}
for(int i=0;i<(nums.size()-ii-1)/2;i++)
{
swap(nums[i+ii+1],nums[nums.size()-1-i]);
}
//return nums;
}
};