记录一下人生第一次做出回溯的题,哈哈哈哈哈哈哈哈这道题是经典的回溯题,在做题之前看过回溯题的模板,感觉帮助很大。
最后再献上代码,希望对各位铁铁有所帮助。
class Solution {
List<List<Integer>> lists=new ArrayList<>();
public List<List<Integer>> permute(int[] nums) {
List<Integer> list=new ArrayList<>();
bfs(nums,list);
return lists;
}
void bfs(int[] num,List<Integer> list)
{
//判断条件
if(list.size()==num.length)
{
//添加路径
lists.add(new ArrayList<>(list));
//返回
return;
}
for(int i:num)
{
//选择路径
if(!list.contains(i))
{
list.add(i);
bfs(num,list);
//撤销路径
list.remove(list.size()-1);
}
}
}
}