import java.util.*;
public class Solution {
ArrayList<String> ans=new ArrayList<>();
char[] c;
public ArrayList<String> Permutation(String str) {
c=str.toCharArray();
dfs(0);
return ans;
}
void dfs(int x){
if(x==c.length-1){
ans.add(String.valueOf(c));
return;
}
HashSet<Character> set=new HashSet<>();
for(int i=x;i<c.length;++i){
if(set.contains(c[i]))continue;
set.add(c[i]);
swap(i,x);
dfs(x+1);
swap(i,x);
}
}
void swap(int a, int b) {
char tmp = c[a];
c[a] = c[b];
c[b] = tmp;
}
}
03-18
1327