5. Longest Palindromic Substring

来源:互联网 发布:淘宝复制链接怎么复制 编辑:程序博客网 时间:2024/06/03 21:25
class Solution {public:    //判断字符串s在下标为b到e的部分是否为回文    bool isPaSu(int b, int e, string s)    {        while(b < e)        {            if(s.at(b) != s.at(e))                return false;            b++;            e--;        }        return true;    }        //返回字符串s中以s.at(b)为开头的最长回文    string oneLongPaSu(int b, string s)    {        string ret;        for(int i = s.size() - 1; i > b; i--)        {            if(s.at(i) == s.at(b))                if(isPaSu(b, i, s))                {                    ret = s.substr(b, i - b + 1);                    break;                }        }        return ret;    }        //正文    string longestPalindrome(string s)     {        if(s == "")            return s;                string ret;        ret.push_back(s.at(0));        for(int i = 0; i < s.size(); i++)        {            string temp = oneLongPaSu(i, s);            if(ret.size() < temp.size())                ret = temp;        }        return ret;    }};

原创粉丝点击