一、题目内容

image.png

二、题解

解法1:

思路

代码

  1. public class Solution {
  2. ArrayList<ArrayList<Integer>> ans;
  3. LinkedList<Integer> path = new LinkedList<>();
  4. int[] nums;
  5. public ArrayList<ArrayList<Integer>> permute(int[] num) {
  6. ans = new ArrayList();
  7. path = new LinkedList<>();
  8. this.nums = num;
  9. recur();
  10. return ans;
  11. }
  12. private void recur(){
  13. if(path.size() == nums.length){
  14. ans.add(new ArrayList(path));
  15. return;
  16. }
  17. for(int i = 0;i<nums.length;i++){
  18. if(path.contains(nums[i])){
  19. continue;
  20. }
  21. path.add(nums[i]);
  22. recur();
  23. path.removeLast();
  24. }
  25. }
  26. }