赞
踩
“回文串”是一个正读和反读都一样的字符串,比如“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; } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。