diff --git a/medium/5 Longest Palindromic Substring/solution.py b/medium/5 Longest Palindromic Substring/solution.py new file mode 100644 index 0000000..4b2eed8 --- /dev/null +++ b/medium/5 Longest Palindromic Substring/solution.py @@ -0,0 +1,19 @@ +class Solution: + def longestPalindrome(self, s: str) -> str: + if len(s) <= 1: + return s + + + dp = [[False for _ in range(len(s))] for _ in range(len(s))] + + max_length = 1 + max_string = s[0] + for i in range(len(s)): + dp[i][i] = True + for j in range(i): + if s[j] == s[i] and (i-j <= 2 or dp[j+1][i-1]): + dp[j][i] = True + if i-j+1 > max_length: + max_length = i-j+1 + max_string = s[j:i+1] + return max_string