class Solution {
public:
void nextPermutation(vector& nums) {
int t=0;
int j=0;
int x=0;
int i=nums.size()-1;
int max=nums[i];
for(;i>0;i--)
{
j=i-1;
if(nums[j]
今天终于有一道正经写出来的题啦!还是中等的!哈哈!
可惜用了一个小时十分钟,有点久......
而且答案写的比我好看太多了叭,虽然思路一样。
class Solution {
public:
void nextPermutation(vector& nums) {
int i = nums.size() - 2;
while (i >= 0 && nums[i] >= nums[i + 1]) {
i--;
}
if (i >= 0) {
int j = nums.size() - 1;
while (j >= 0 && nums[i] >= nums[j]) {
j--;
}
swap(nums[i], nums[j]);
}
reverse(nums.begin() + i + 1, nums.end());
}
};
这一种用函数的也是牛的,毕竟我连这函数都没见过。
class Solution {
public:
void nextPermutation(vector& nums) {
next_permutation(nums.begin(), nums.end());
}
};
加油!



