本文共 1299 字,大约阅读时间需要 4 分钟。
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。
回文子串是“aba” “abba”这种的 “abaca”不是
class Solution { public: string longestPalindrome(string s) { int maxlength=1,flag=0; if(s.size()==0){ return ""; } vector> str(s.size(),vector (s.size()));//定义一个二维数组来表示回文子串的起点和终点 for (int i=0; i
通过时间:
class Solution { public: string longestPalindrome(string s) { int maxlength=1,flag=0; if(s.size()==0){ return ""; } for(int i=0;ii;j--){ int flagi=i; int flagj=j; while(s[flagj]==s[flagi]){ if(flagi==flagj || flagi==flagj-1){ if( (j-i+1) > maxlength ){ maxlength=j-i+1; flag=i; } break; } flagj--; flagi++; } } } return s.substr(flag,maxlength); }};
转载地址:http://inemb.baihongyu.com/