Java代码如下:
public static void printAllSubsquence(String str){
char[] chs = str.toCharArray();
process(chs,0);
}
//i表示当前来到的位置
private static void process(char[] chs, int i) {
if (i == chs.length){
System.out.println(String.valueOf(chs));
return;
}
//要当前字符
process(chs,i+1); //想想一棵树,从头节点出发,左右两边是要当前字符和不要当前字符的路,递归下去就行了。把不要的用其他字符代替最后打赢。
char tem = chs[i] ;
chs[i] = 0;
//不要当前字符,已经把当前字符替换成0,打印有区分度
process(chs,i+1);
chs[i] = tem;
}