import java.util.ArrayList; import java.util.HashSet; import java.util.List; public class Test44 { //打印一个字符串全部子序列,要求不出现重复字面值 public static List<String> subsNoRepeat(String s) { char[] str = s.toCharArray(); String path = ""; HashSet<String> set = new HashSet<>(); process2(str , 0 , set , path); List<String> ans = new ArrayList<>(); for (String cur : set) { ans.add(cur); } return ans; } public static void process2(char[] str , int index , HashSet<String> set , String path) { if(index == str.length) { set.add(path); return; } String no = path; process2(str , index + 1, set, no); String yes = path + String.valueOf(str[index]); process2(str , index + 1 , set, yes); } }
打印一个字符串全部子序列(没有重复字面值)
于 2024-08-13 10:58:52 首次发布