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

原创 2016年08月29日 21:17:01

求字符串中最长对称字符串的长度,
例如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;
    }

}

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

相关文章推荐

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

问题: 输入一个字符串,输出该字符串中对称的子字符串的最大长度。比如输入字符串“google”,由于该字符串里最长的对称子字符串是“goog”,因此输出4。 分析: 暴力法,穷举所有的子字符...
  • lxmky
  • lxmky
  • 2012年09月01日 15:26
  • 1954

字符串中对称子串的最大长度

1. 描述 输入一个字符串,输出该字符串中对称的子字符串的最大长度。比如输入字符串“goooogle”, 由于该字符串里最长的对称子字符串是“goooog”, 因此输出 6。 2. 思路 ...

Java给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度.

//给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度. //回文就是正反读都是一样的字符串,如aba, abba等 import java.util.Scanner...
  • lxj9312
  • lxj9312
  • 2016年08月18日 17:07
  • 565

C语言 求一个字符串中最长回文子串的长度

问题描述:如题,给定一个字符串str和其长度n,求该字符串的一个最长公共回文子串的长度(公共子串个公共子序列是两个不同的概念)。并打印出该回文子串。 解答:1,首先给出一个比较直观的解法。根据回...

JAVA:返回字符串中最长回文子串的长度

1. 暴力解决(代码超短)public static int getMaxLength(String str){ //字串长度由length()递减,直到字串符合回文串定义位置,即可返回 ...

Longest Substring Without Repeating Characters 字符串中最长的无重复子串长度

Longest Substring Without Repeating Characters

字符串中最长的回文字符串长度

1、回文字符串     回文字符串是指aba类型的字符串,即字符串关于中间字符对称。判断字符串中是否含有回文、得到最长回文字符串的长度、得到不同回文字符串的个数等等,是经常考察的编程题目。 2、之...

字符串中最大对称子串的长度(C++软件工程师面试题)

字符串中最大对称子串的长度

字符串中对称字符串的最大长度(最长回文)

背景: 所谓对称子字符串,就是这个子字符串要么是以其中一个词对称:比如 “aba”, “abcba”;要么就完全对称:比如"abba", "abccba"。 问题: 给你一个字符串,...
  • ancc4
  • ancc4
  • 2013年07月03日 11:37
  • 552
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:求字符串中最长对称字符串的长度
举报原因:
原因补充:

(最多只允许输入30个字)