import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @return string字符串一维数组 */ // 181ms 73% int n; public String[] generatePermutation (String s) { this.n = s.length(); List<String> list = new ArrayList<>(); list.add(""); bfs(0, s, list); Set<String> hash = new HashSet<>(list); return hash.toArray(new String[hash.size()]); } public void bfs(int start, String s, List<String> list){ if(start == n) return ; List<String> tmpList = new ArrayList<>(list); for(String tmp : tmpList){ tmp += s.charAt(start); list.add(tmp); } bfs(start+1, s, list); } }