5. Longest Palindromic Substring

来源:互联网 发布:游戏变速器源码 编辑:程序博客网 时间:2024/05/18 00:30
/*算法思想:本算法的一次判断每个字符的前后回文的长度,选取最大的那个输出;其中,start记录最长字符串的初始位置,*/class Solution {public:    string longestPalindrome(string s) {        if (s.empty())return "";if (s.size() == 1)return s;int start = 0, maxsub = 0;//stsrt记录最终的最长子串的起始位置,maxsub记录最长的长度for (int i = 0; i < s.size(); i++){int j = i, k = i;//j记录子串的开始位置,k记录子串结束的位置;while (k < s.size() && s[k] == s[k + 1])//如果出现相同的字符k++;while (k<s.size() && j>0 && s[j - 1] == s[k + 1]){j--;k++;}if (maxsub < k - j + 1){start = j;maxsub = k - j + 1;}}return s.substr(start, maxsub);    }};

0 0
原创粉丝点击