三种解法:
1.递归法(扩展法)
同力扣78题解法差不多,加入Arrays.sort(nums)进行排序;
结束后把res转变为hashset集合,集合的特点是没有重复的元素,所以做到去重的效果,最后再把集合转变为list;
2. 回溯法
也是同78题类似,加入Arrays.sort(nums)进行排序;
在backtrack循环中加入
if (i > start && nums[i] == nums[i - 1])判断语句
i > start 的作用是因为判断此次循环是否为第一次循环,和num[i] == num[i-1]共同作用后就可以看作:
判断第上一次循环的数和本次循环的数是否相同,如果相同就跳过
3.DFS(深度优先)
同回溯法类似,但是深度优先。
版权声明:本文为sunjingze1原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。