class Solution {
public:
void nextPermutation(vector<int>& nums) {
int ii = nums.size() - 2, jj = nums.size() - 1;
while(ii >= 0 && nums[ii] >= nums[ii+1]) ii--;
if(ii != -1) {
while(jj >= ii && nums[jj] <= nums[ii]) jj--;
swap(nums[ii], nums[jj]);
}
for(ii = ii+1, jj = nums.size()-1; ii < jj; ii++, jj--) swap(nums[ii], nums[jj]);
}
};
leetcode 31. 下一个排列
最新推荐文章于 2024-08-12 17:20:09 发布