Last active 1752478220

LongestPalindromicSubstring.java Raw
1// Problem: https://leetcode.com/problems/longest-palindromic-substring/
2// Explanation: https://youtu.be/XYQecbcd6_c
3
4class Solution {
5 public String longestPalindrome(String s) {
6 var result = "";
7 var resultLength = 0;
8
9 for (int i = 0; i < s.length(); i++) {
10 // Odd length
11 var l = i;
12 var r = i;
13
14 while (l >= 0 && r < s.length() && s.charAt(l) == s.charAt(r)) {
15 if ((r - l + 1) > resultLength) {
16 result = s.substring(l, r + 1);
17 resultLength = r - l + 1;
18 }
19 l -= 1;
20 r += 1;
21 }
22
23 // Even length
24 l = i;
25 r = i + 1;
26 while (l >= 0 && r < s.length() && s.charAt(l) == s.charAt(r)) {
27 if ((r - l + 1) > resultLength) {
28 result = s.substring(l, r + 1);
29 resultLength = r - l + 1;
30 }
31 l -= 1;
32 r += 1;
33 }
34 }
35
36 return result;
37 }
38}