leetcode 31 题错误
class Solution {
public:
void nextPermutation(vector<int>& nums) {
int len = nums.size();
int i = 0;
for (;i < len - 1 && nums[i] > nums[i + 1]; ++i)
;
if (i == len -1)
{
reverse(nums.begin(), nums.end());
return;
}
int index = nums.size() - 1;
merge_swap(nums, index);
}
private:
void merge_swap(vector<int>& nums, int index) {
if (index == 0)
return;
if (nums[index] > nums[index - 1]) {
swap(nums[index], nums[index - 1]);
return;
}
swap(nums[index], nums[index - 1]);
merge_swap(nums, index - 1);
}
};