diff --git a/0005/README.md b/0005/README.md new file mode 100644 index 0000000..a403c7e --- /dev/null +++ b/0005/README.md @@ -0,0 +1,4 @@ +# Longest Palindromic Substring + +### Problem statemen +Given a string s, return the longest palindromic substring in s. \ No newline at end of file diff --git a/0005/longest_palindromic_substring.py b/0005/longest_palindromic_substring.py new file mode 100644 index 0000000..cb35176 --- /dev/null +++ b/0005/longest_palindromic_substring.py @@ -0,0 +1,19 @@ +def longestPalindrome(self, s): + res = "" + for i in xrange(len(s)): + # odd case, like "aba" + tmp = self.helper(s, i, i) + if len(tmp) > len(res): + res = tmp + # even case, like "abba" + tmp = self.helper(s, i, i+1) + if len(tmp) > len(res): + res = tmp + return res + +# get the longest palindrome, l, r are the middle indexes +# from inner to outer +def helper(self, s, l, r): + while l >= 0 and r < len(s) and s[l] == s[r]: + l -= 1; r += 1 + return s[l+1:r] \ No newline at end of file