class Solution {
public:
void nextPermutation(vector<int>& nums) {
int p=-1;
for(int i=(int)nums.size()-2;i>=0;i--){
if(nums[i]<nums[i+1]){
p=i;
break;
}
}
if(p==-1) reverse(nums.begin(),nums.end());
else{
for(int i=(int)nums.size()-1;i>=0;i--){
if(nums[i]>nums[p]){
swap(nums[i],nums[p]);
reverse(nums.begin()+p+1,nums.end());
break;
}
}
}
}
};
leetcode 31. Next Permutation
最新推荐文章于 2021-05-21 19:06:52 发布