LeetCode 31 下一个排列
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 31 下一个排列
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
https://leetcode-cn.com/problems/next-permutation/
解決方案
class Solution {public void nextPermutation(int[] nums) {int i = nums.length - 2;for (; i >= 0 && nums[i] >= nums[i + 1]; --i) ;if (i >= 0) {int j = nums.length - 1;for (; j >= 0 && nums[i] >= nums[j]; --j) ;swap(nums, i, j);}reverse(nums, i + 1);}public void swap(int[] nums, int i, int j) {int temp = nums[i];nums[i] = nums[j];nums[j] = temp;}public void reverse(int[] nums, int start) {int left = start, right = nums.length - 1;while (left < right) {swap(nums, left, right);left++;right--;}} }總結(jié)
以上是生活随笔為你收集整理的LeetCode 31 下一个排列的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 《移动项目实践》实验报告——Androi
- 下一篇: LeetCode 32 最长有效括号