问题描述:
对于一个字符串,我们想通过添加字符的方式使得新的字符串整体变成回文串,但是只能在原串的结尾添加字符,请返回在结尾添加的最短字符串。
给定原字符串A及它的长度n,请返回添加的字符串。保证原串不是回文串。
测试样例:
"ab",2
返回:"a"
AC代码:
class Palindrome {
public:
string addToPalindrome(string A, int n) {
// write code here
int len = n;
for (int i = 0; i < n; i++){
if (i + 1 == len/2 && A[i] == A[len - i - 1])
break;
else if (A[i] != A[len - i - 1]){
len++;
i = len - n - 1;
}
}
string ans = "";
for (int j = len-n-1; j >=0;j--)
ans += A[j];
return ans;
}
};