京东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);
}
}