==========================努力奋斗财源广进==========================
给出一组数字,返回该组数字的所有排列 例如: [1,2,3]的所有排列如下 [1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2], [3,2,1]. (以数字在数组中的位置靠前为优先级,按字典序排列输出。)
import java.util.*;
public class Solution {
ArrayList<ArrayList<Integer>> res = new ArrayList<>();
public ArrayList<ArrayList<Integer>> permute(int[] num)
{
LinkedList<Integer> ans = new LinkedList<>();
backTrack(num, ans);
return res;
}
public void backTrack(int[] num, LinkedList<Integer> ans)
{
int arrayLen = num.length;
if(ans.size() == arrayLen)
{
res.add(new ArrayList<>(ans));
return;
}
for(int i = 0; i < arrayLen; i++)
{
if(ans.contains(num[i])) continue;
ans.add(num[i]);
backTrack(num, ans);
ans.removeLast();
}
}
}
//待定
评论区记录复习记录
评论