leetcode

Solution to some Leetcode problems written in C++
git clone git://git.dimitrijedobrota.com/leetcode.git
Log | Files | Refs | README | LICENSE

0031.cpp (462B)


0 class Solution { 1 public: 2 void nextPermutation(vector<int> &nums) { 3 int n = nums.size(), k, l; 4 for (k = n - 2; k >= 0 && nums[k] >= nums[k + 1]; k--) 5 ; 6 7 if (k >= 0) { 8 for (l = n - 1; l > k && nums[l] <= nums[k]; l--) 9 ; 10 swap(nums[k], nums[l]); 11 reverse(nums.begin() + k + 1, nums.end()); 12 } else { 13 reverse(nums.begin(), nums.end()); 14 } 15 } 16 };