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 ;
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 };