31. Next Permutation
Posted ymjyqsx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了31. Next Permutation相关的知识,希望对你有一定的参考价值。
https://www.cnblogs.com/grandyang/p/4428207.html
按照博客的思路在做就好,唯一值得注意的一点:如果整个数组都没有 nums[i+1] > nums[i],你就需要把整个数组reverse
]>class Solution { public: void nextPermutation(vector<int>& nums) { int length = nums.size(); if(length <= 0) return; int j; for(int i = length - 2;i >= 0;i--){ if(nums[i+1] > nums[i]){ for(j = length - 1;j > i;j--){ if(nums[j] > nums[i]) break; } swap(nums[j],nums[i]); reverse(nums.begin() + i + 1,nums.end()); return; } } reverse(nums.begin(),nums.end()); } };
以上是关于31. Next Permutation的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode - 31. Next Permutation
LeetCode OJ 31. Next Permutation
LeetCode31 Next Permutation and LeetCode60 Permutation Sequence