题目描述
zbj 最近很喜欢回文串,回文串的意思就是说,从左往右读和从右往左读是相同的字符串
现在 zbj 有一个字符串,希望将这个字符串变成回文串,他每次可以将这个字符串中的一个字母变成另外一个字母。
请问他最少需要修改几个字母?
输入
输入只有一行,包含一个只有小写字母组成的字符串 s,(|s| <= 10^5)
输出
输出一行,表示最少需要修改的次数
样例输入
abc
样例输出
1
解析:就是首尾往中间逐个比对,有不同计数+1即可
#include <stdio.h>
#include <string.h>
char k[100005];
int main()
{int cnt,sum,i,m;while(~scanf("%s",k)){cnt=strlen(k);m=cnt-1; //尾 sum=0;for(i=0;i<cnt/2;i++){if(k[i]!=k[m]) sum++; //sum表示需要改的次数 m--;}printf("%d\n",sum);}return 0;
}