关闭

求字符串中最长对称字符串的长度

标签: 字符串-对称字符串
240人阅读 评论(0) 收藏 举报
分类:

求字符串中最长对称字符串的长度,
例如google中最长对称字符串的个数是4
iqiyiyiq中最长对称字符串的个数是6;
这种题目呢,不知道如何用语言表达清楚自己的思路,也许是自己理解的不够清楚吧,但是这种题目利用具体事例就可以将代码写出来;
代码如下:

#include<iostream>
#include<string>
using namespace std;
int isSymmetry(string str,int start)
{
    int end=str.length()-1;
    int result=start;
    bool flag=false;
    while(start<end)
    {


        if(str[start]==str[end])
        {
            if(!flag) result=end;
            flag=true;
            ++start;
            --end;
        }
        else
        {
            if(flag) break;
            else--end;
        }
    }
    if(start>=end) return result;
    else return-1;
}
int theLenofSymStr(string str)
{
    int len=str.length();
    int maxLen=1;
    for(int i=0;i<len;++i)
    {
        int index=isSymmetry(str,i);
        if(index!=-1)
        {
            int len=index-i+1;
            if(maxLen<len)
                maxLen=len;
        }
    }
    return maxLen;

}
int main()
{
    string str;
    while(cin>>str)
    {
        cout<<theLenofSymStr(str)<<endl;
    }

}

感觉自己的代码有很多的冗余,冗余冗余^
感觉逻辑上还有很多不足之处感觉自己还需要努力
虽然结果是正确的,但是还是要缅怀下我的爱奇艺笔试,为啥不在敏捷点敏捷点敏捷点
陈小白还要再努力才行啊

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:17263次
    • 积分:487
    • 等级:
    • 排名:千里之外
    • 原创:33篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条