62,614
社区成员
发帖
与我相关
我的任务
分享
void combine(String str) {
char[] in = str.toCharArray();
StringBuffer out = new StringBuffer();
allCombine(in, out, 0);
}
void allCombine(char[] in, StringBuffer out, int start) {
for (int i = start; i < in.length; i++) {
out.append(in[i]);
System.out.println(out);
if (i < in.length - 1) {
allCombine(in, out, i + 1);
}
out.setLength(out.length() - 1);
}
}
void combine(String str){
int length=str.length();
char[] in=str.toCharArray();
StringBuffer out=new StringBuffer();
allCombine(in,out,length,0,0);
}
void allCombine(char[] in,StringBuffer out,int length,int sign,int start){
for(int i=start;i<length;i++){
out.append(in[i]);
System.out.println(out);
if(i<length-1){
allCombine(in,out,length,sign+1,i+1);
}
out.setLength(out.length()-1);
}
}