对于一个字符串,我们想通过添加字符的方式使得新的字符串整体变成回文串,但是只能在原串的结尾添加字符,请返回在结尾添加的最短字符串。
给定原字符串A及它的长度n,请返回添加的字符串。保证原串不是回文串。
public String addToPalindrome(String A, int n) {
/*
解题思路:从头开始依次删除一个字符,并且把该字符存到字符串缓冲流中,然后判断剩下的字符组成的字符串是不是回文,
如果是就跳出循环,返回缓冲流的逆序
*/
StringBuilder sb=new StringBuilder();
for(int i=1;i<A.length();i++){
sb.append(A.charAt(i-1));
String temp=A.substring(i);
if(isPalindrom(temp)){
break;
}
}//for
return sb.reverse().toString();
}
//判断是否是回文
public static boolean isPalindrom(String str){
for(int i=0;i<str.length()/2;i++){
if(str.charAt(i)!=str.charAt(str.length()-1-i)){
return false;
}
}
return true;
}