class Solution {
public:
void nextPermutation(vector<int>& nums) {
if(nums.size() < 2) return;
int i = nums.size()-1, j = i;
while(i && nums[i] <= nums[i-1]) i--;
while(i && nums[j] <= nums[i-1]) j--;
if(i) swap(nums[i-1], nums[j]);
reverse(nums.begin()+i, nums.end());
}
};