1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| class Solution { public String longestPalindrome(String s) { int startIndex = 0; int maxLen = 0; for(int i = 0; i < s.length(); i ++) { int left = i; int right = i; while(left >= 0 && right < s.length() && s.charAt(left) == s.charAt(right)) { if(right - left + 1 > maxLen) { maxLen = right - left + 1; startIndex = left; } left --; right ++; } }
for(int i = 0; i < s.length(); i ++) { int left = i; int right = i + 1; while(left >= 0 && right < s.length() && s.charAt(left) == s.charAt(right)) { if(right - left + 1 > maxLen) { maxLen = right - left + 1; startIndex = left; } left --; right ++; } } return s.substring(startIndex, startIndex + maxLen); } }
|