leetcode-mid-array-5. Longest Palindromic Substring

mycode   12.51%

class Solution(object):
    def longestPalindrome(self, s):
        """
        :type s: str
        :rtype: str
        """
        length = len(s)
        if length==0:
            return ''
        res = s[0]
        for i in range(length-1):
            for j in range(i+1,length):
                if s[j] == s[i]:
                    temp = s[i:j+1]   
                    if temp == temp[::-1]:
                        if len(temp) > len(res):
                            res = temp[:]
        return res

参考:

class Solution(object):
    def longestPalindrome(self, s):
        """
        :type s: str
        :rtype: str
        """
        n = len(s)
        maxl, start = 0, 0
        for i in range(n):
            if i - maxl >= 1 and s[i-maxl-1:i+1] == s[i-maxl-1:i+1][::-1]:
                start = i - maxl - 1
                maxl += 2
                continue
            if i - maxl >= 0 and s[i-maxl:i+1] == s[i-maxl:i+1][::-1]:
                start = i - maxl
                maxl += 1
        return s[start: start + maxl]
原文地址:https://www.cnblogs.com/rosyYY/p/10964403.html