# 力扣31. 下一个排列


## 力扣31. Next Permutation（下一个排列）

整数数组的一个排列就是将其所有成员以序列或线性顺序排列。下一个排列是指字典序更大的所有排列中，最小的那个。如果不存在下一个更大的排列，则将数组重新排列为最小的排列（即升序排列）。必须原地修改，只允许使用额外常数空间。

示例 1：

![](../posts/01_学习/87_LeetCode/0031_下一个排列/img/0031-1-description.png)

```
输入：nums = [1,2,3]
输出：[1,3,2]
解释：123 的下一个排列是 132。
```

示例 2：

![](../posts/01_学习/87_LeetCode/0031_下一个排列/img/0031-2-description.png)

```
输入：nums = [3,2,1]
输出：[1,2,3]
解释：321 的下一个排列不存在，将其重排为最小的排列 123。
```

示例 3：

![](../posts/01_学习/87_LeetCode/0031_下一个排列/img/0031-3-description.png)

```
输入：nums = [1,1,5]
输出：[1,5,1]
解释：115 的下一个排列是 151。
```

提示：
- 1 <= nums.length <= 100
- 0 <= nums[i] <= 100

