题目
![在这里插入图片描述](https://img-blog.csdnimg.cn/83343182d17d41b1922327da0bb6a5d1.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0Fucnlz,size_16,color_FFFFFF,t_70)
代码
class Solution {
public String[] permutation(String s) {
List<String> list = new ArrayList();
char[] arr = s.toCharArray();
StringBuilder sb = new StringBuilder();
boolean[] visited = new boolean[arr.length];
dfs(arr, "", visited, list);
return list.toArray(new String[0]);
}
public void dfs(char[] arr, String s, boolean[] visited, List list)
{
if(s.length() == arr.length)
{
list.add(s);
return;
}
for(int i=0; i<arr.length; i++)
{
if(visited[i]) continue;
visited[i] = true;
dfs(arr, s+String.valueOf(arr[i]), visited, list);
visited[i] = false;
}
}
}
结果
![在这里插入图片描述](https://img-blog.csdnimg.cn/a5d8505f3e324df19d02f4b25bfd2a91.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0Fucnlz,size_16,color_FFFFFF,t_70)
|