leetcode-----31. 下一个排列

Posted 景云

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode-----31. 下一个排列相关的知识,希望对你有一定的参考价值。

代码

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

以上是关于leetcode-----31. 下一个排列的主要内容,如果未能解决你的问题,请参考以下文章

精选力扣500题 第32题 LeetCode 31. 下一个排列c++ / java 详细题解

LeetCode31. 下一个排列

p124 数组的下一个排列(leetcode 31)

LeetCode 31. 下一个排列 | Python

LeetCode 31. 下一个排列 | Python

LeetCode31. 下一个排列