<script>
/**
* @param {string} s
* @return {string}
*/
const longestPalindrome = function (s) {
if (s.length < 2) {
return s
}
let start = 0, maxLen = 1;
function help(left, right) {
// 判断越界情况
while (left >= 0 && right <= s.length && s[left] == s[right]) {
if (right - left + 1 > maxLen) {
maxLen = right - left + 1
start = left
}
left--
right++
}
}
for (let i = 0; i < s.length; i++) {
// 有中心点的情况 例:cabaa
help(i - 1, i + 1)
// 无中心点的情况 例:abba
help(i, i + 1)
}
return s.substring(start, start + maxLen)
};
</script>
最长回文子串
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 作者:寒小阳 时间:2013年9月。出处:http://blog.csdn.net/han_xiaoyang/ar...
- 10月27日面试题 题目 截图自LeetCode 解析 中心展开法。遍历字符串,每遍历到一个字符,以这个字符为中心...
- Python小白 Leetcode刷题历程 No.1-No.5 两数之和、两数相加、无重复字符的最长子...
- 分别是Leetcode 5(最长回文子串)和Leetcode 516(最长回文子序列)原题,区别在于是否要求找到连...