剑指offer--38字符串的排列
Posted Anrys
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer--38字符串的排列相关的知识,希望对你有一定的参考价值。
剑指offer--38字符串的排列
题目
代码
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);
//new String[0]只能填0,代表类型的规定,其他的数就限定了输出的维度,java8如此
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; //回溯
结果
以上是关于剑指offer--38字符串的排列的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 字符串的排列全排列问题(剑指offer38)