class Solution {
List<List<Integer>> result;
List<Integer> path;
boolean[] visited;
int[] arr;
public List<List<Integer>> permute(int[] nums) {
result = new ArrayList<>();
path = new ArrayList<>(nums.length);
visited = new boolean[nums.length];
arr = nums;
dfs();
return result;
}
private void dfs() {
if (path.size() >= arr.length) {
result.add(new ArrayList<>(path));
return;
}
for (int i = 0; i < arr.length; i++) {
if (visited[i]) {
continue;
}
visited[i] = true;
path.add(arr[i]);
dfs();
visited[i] = false;
path.remove(path.size() - 1);
}
}
}
08-30
647
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
07-12
595
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
06-09
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交