0
已解决
李锦恒
新手光能
新手光能
3990 最长回文字符串
经验值:1200
时间限制:1000毫秒
内存限制:128MB
题目描述 Deion
现在给出一个字符串,如果该字符串顺着和倒着是完全一样的,即字符串开头与结尾相对位置的字符对应都相同,那么该字符串是完全回文字符串,否则的话我们也可以求出其最长回文长度。
最长回文长度指的是开头和结尾有多少对字符对应匹配(不区分大小写)。
比如:
aSIA 的最长回文长度是1,因为开头和结尾只有1对字符a和A匹配。
AbscBA 的最长回文长度是2,因为有2对字符:A和A,b和B对应匹配。
现在输入一个字符串,请你判断:如果它是完全回文字符串,输出“Y”;否则输出“N”以及该字符串的最长回文长度。
输入描述 Input Deion
第一行,输入一个字符串(仅包含字母)
输出描述 Output Deion
如果是完全回文字符串,输出“Y”;否则输出“N”和该字符串的最长回文长度
样例输入 Sample Input
【样例输入1】 IasSAI 【样例输入2】 IIAsii
样例输出 Sample Output
【样例输出1】 Y 【样例输出2】 N 2
0
已采纳
彭志杰
初级天翼
初级天翼
同学你好,这题主要考察知识点:回文
思路如下:
两行新手都会的东西;
定义字符串类型变量s;
定义整型变量cnt和cnt1;
定义整型变量flag并赋值为0;
主函数(){
输入s;
用len记录字符串s的长度;
循环i:0至len-1{
如果(s的第i个字符是大写字母) 将其变成小写字母;
}
循环i:0至(len-1)/2{
如果(s的第i个字符不等于s第len-1-i个字符){
cnt计数自增1;
标志位flag改变值为1;
break;
}否则 cnt1计数自增1;
}
如果(flag的值为0) 输出Y;
否则 输出"N "和cnt1;
结束程序;
}
求采纳,谢谢!!
任何不理解的都可以在这里问我:
加油你能行滴o(* ̄▽ ̄*)ブ