法二:另一种是(时间复杂度为O(n):
理论支持:每当增加一个新的字母最大回文串的长度只能增加1或者2,不可能增加更多并且,新的最大回文串必然要包含这个字毋
证明:如果新增了一个字母最大回文串的长度增加了3,这是不可能的例如:abcdefgfedcba,当增加到最后的b或者a时是不可能增加3个长度的,因為每增加一个字母前面必然已经存在一个回文子串,且长度比新回文串串小1或者小2.
所以从头到尾扫描字符串,每增加一个新的字符判断以这个字符结尾,且长度为maxLen+1或者maxLen+2的子串是否为回文如果是,更新最大回文子串
发布了8 篇原创文章 · 获赞 1 · 访问量 292