diff --git a/Answer1.9.cpp b/Answer1.9.cpp new file mode 100644 index 0000000..a21342c --- /dev/null +++ b/Answer1.9.cpp @@ -0,0 +1,22 @@ +class Solution { +public: + void nextPermutation(vector& nums) { + int n = nums.size(), k, l; + for (k = n - 2; k >= 0; k--) { + if (nums[k] < nums[k + 1]) { + break; + } + } + if (k < 0) { + reverse(nums.begin(), nums.end()); + } else { + for (l = n - 1; l > k; l--) { + if (nums[l] > nums[k]) { + break; + } + } + swap(nums[k], nums[l]); + reverse(nums.begin() + k + 1, nums.end()); + } + } +}; \ No newline at end of file