输入ABC,输出:
A
ABABC
AC
B
BC
C
package test;
import java.util.*;
public class testOne {
public static void main(String[] args){
Scanner in = new Scanner(System.in);
while(in.hasNext()){
String s1 = in.nextLine();
String[] s2 = new String[s1.length()];
for(int i = 0;i < s1.length();i++){
s2[i] = s1.charAt(i)+"";
}
listAll(Arrays.asList(s2),"");
}
}
public static void listAll(List candidate,String prefix){
if(!"".equals(prefix)){
System.out.println(prefix);
}
for(int i=0;i<candidate.size();i++){
List temp =new LinkedList(candidate);
String hhh = temp.remove(i).toString();//放置到list中
listAll(temp.subList(i,temp.size()),prefix+hhh);//剩下的和放置中的
}
}
}
输出: