leetcode 5.最长回文子串(中等)双指针

题目描述:

给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。

示例 1:

输入: "babad"
输出: "bab"
注意: "aba" 也是一个有效答案。

示例 2:

输入: "cbbd"
输出: "bb"

思路:

核心是双指针,从中间开始向两边扩散来判断回文串。

这里需要注意的地方是:回文串的长度可能是奇数或者偶数,所以要考虑完全。

时间复杂度为 O(n^2)

空间复杂度为O(1)

 

class Solution {
public:

    string palindrome(string &s, int low, int high)
    {
        while(low>=0 && high s1.size()? res: s1;
            res = res.size() > s2.size()? res: s2;
        }
        return res;
    }
};

 

你可能感兴趣的:(Leetcode,刷题笔记)