京东2018回文字符串
import java.util.*;
/**
* 京东2018回文字符串
*/
public class Main {
/**
* 字符串组合
* @param s
*/
public static Set<String> perm=new HashSet<>();
public void getChildString (String s){
List<String >list=new ArrayList<>();
for (int i=0 ;i<s.length();i++){
list.add(s.charAt(i)+"" );
}
getChildString(list,"" );
}
public void getChildString (List<String > list, String pre){
if (!"" .equals(pre)){
perm.add(pre);
}
for (int i=0 ;i<list.size();i++){
List<String >temp=new ArrayList<>(list);
String s=temp.remove(i).toString();
getChildString(temp.subList(i,temp.size()),pre+s);
}
}
public boolean ReverseString (String str){
StringBuilder sb=new StringBuilder(str);
if (sb.reverse().toString().equals(str)){
return true ;
}
return false ;
}
public static void main (String[] args) {
Main m=new Main();
Scanner sca=new Scanner(System.in);
String str=sca.nextLine();
m.getChildString(str);
int count =0 ;
for (String s:perm
) {
if (m.ReverseString(s)){
System.out.println(s);
count++;
}
}
System.out.println(count);
}
}