public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 用来求出一个字符串的全部子序列,包含空字符串(因为这个不好统一输出的子序列,所以按照上课所讲写这个代码) * @param s string字符串 需要打印全部子序列的那个字符串 * @return string字符串一维数组 */ public String[] getAllSubs (String s) { // write code here char[] str = s.toCharArray(); String path = ""; List<String> ans = new ArrayList<>(); process1(str, 0, ans, path); final int size = ans.size(); String[] arrString = (String[])ans.toArray(new String[size]); return arrString; }
public static void process1(char[] str, int index, List<String> ans, String path){ if (index == str.length) { ans.add(path); return; } String no = path; process1(str, index + 1, ans, no); String yes = path + String.valueOf(str[index]); process1(str, index + 1 , ans, yes); } }