“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。花花非常喜欢这种拥有
对称美的回文串,生日的时候她得到两个礼物分别是字符串A和字符串B。现在她非常好奇有没有办法将字符
串B插入字符串A使产生的字符串是一个回文串。你接受花花的请求,帮助她寻找有多少种插入办法可以使新
串是一个回文串。如果字符串B插入的位置不同就考虑为不一样的办法。
解题思路:
1.先写一个判断是否为回文的方法:分别从字符串前后开始遍历,如果每个字符都相等,则是回文
2.再写一个方法进行统计插入是回文的方法个数:遍历字符串,使用substring()方法以及“+”进行字符串拼接,如果是回文,则count++;
代码实现:
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
String a = sc.nextLine();
String b = sc.nextLine();
System.out.println(count(a,b));
}
}
public static boolean isHuiWen(String str){
int i = 0;
int j = str.length() - 1;
while(i < j){
if(str.charAt(i) != str.charAt(j)){
return false;
}
i++;
j--;
}
return true;
}
public static int count(String a,String b){
int count = 0;
for(int i = 0;i < a.length();i++){
String str = a.substring(0,i)+b+a.substring(i,a.length());
if(isHuiWen(str)){
count++;
}
}
return count;
}
}