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

#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 "";
}
此文章已被阅读次数:正在加载...更新于