问题标题: 酷町堂:3990   最长回文字符串

0
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(* ̄▽ ̄*)ブ

我要回答