Skip to content

Instantly share code, notes, and snippets.

@leearmee35
Created August 30, 2016 17:27
Show Gist options
  • Save leearmee35/6ac9be08a4710b6c122b2bd49057e660 to your computer and use it in GitHub Desktop.
Save leearmee35/6ac9be08a4710b6c122b2bd49057e660 to your computer and use it in GitHub Desktop.
public class Solution {
private ArrayList<ArrayList<Integer>> res = new ArrayList<ArrayList<Integer>>();
public List<List<Integer>> permute(int[] nums) {
ArrayList<Integer> set = new ArrayList<Integer>();
boolean [] vis = new boolean[nums.length];
helper(nums,set,vis);
return (List) res;
}
public void helper(int[] nums, ArrayList<Integer> set, boolean[] visited){
if(set.size()==nums.length){
res.add(new ArrayList<Integer>(set));
return;
}
for(int i=0;i<nums.length;i++){
if(visited[i]==false){
set.add(nums[i]);
visited[i]=true;
helper(nums, set, visited);
set.remove(set.size()-1);
visited[i]=false;
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment