1328. 破坏回文串

第一个for循坏有点多余,应只判断是否全为’a’,全为则最后一位改为’b’

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#define f(i, a, b) for (int i = a; i <= b; i++)

char * breakPalindrome(char * palindrome){
if(strlen(palindrome)==1)
return "";
f(i,'a','z'){
f(j,0,strlen(palindrome)/2-1){
if(palindrome[j]>i){
palindrome[j]=i;
return palindrome;
}
else if(palindrome[j]!=i){
palindrome[strlen(palindrome)-j-1]=i;
return palindrome;
}
}
}
return "";
}