题目:每次用1替换单词的一个字符,并且合并连续的1,返回所有可能的替换方案
思想:暴力枚举所有可能的替换方案,每替换一次就保存一下结果,在保存结果之前先合并里面连续的1
时间复杂度O(n! * n) n为word的长度
空间复杂度O(n! *n)(栈的深度,或者递归树的深度 * n )
class Solution {
List<String> res = new ArrayList<>();
public String getString(StringBuilder s){//合并连续的1
StringBuilder res = new StringBuilder();
int i = 0;
while(i<s.length()){
if(s.charAt(i)!='1'){
res.append(s.charAt(i));
i++;
}else{
int j = i+1;
while(j<s.length()&&s.charAt(j)=='1'){
j++;
}
res.append(j-i);
i = j;
}
}
return res.toString();
}
public void helper(StringBuilder trace,int start){