未验证 提交 3db5736c 编写于 作者: B BruceCat 提交者: GitHub

【46.全排列】【JAVA】

【46.全排列】【JAVA】
......@@ -283,5 +283,42 @@ void backtrack(int[] nums, LinkedList<Integer> track) {
<p align='center'>
<img src="../pictures/qrcode.jpg" width=200 >
</p>
======其他语言代码======
======其他语言代码======
\ No newline at end of file
[userLF](https://github.com/userLF)提供全排列的java代码:
```java
import java.util.ArrayList;
import java.util.List;
class Solution {
List<List<Integer>> res = new ArrayList<>();
public List<List<Integer>> permute(int[] nums) {
res.clear();
dfs(nums, 0);//
return res;
}
public void dfs(int[] n, int start) {//start表示要被替换元素的位置
if( start >= n.length) {
List<Integer> list = new ArrayList<Integer>();
for(int i : n) {
list.add(i);
}
res.add(list);
return;
}
for(int i = start; i< n.length; i++) {//i从start开始,如果从start+1开始的话,会把当前序列遗漏掉直接保存了下一个序列
int temp= n[i];
n[i] = n[start];
n[start] = temp;
dfs(n, start + 1);//递归下一个位置
//回到上一个状态
n[start] = n[i];
n[i] = temp;
}
}
}
```
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册