Leetcode 5 : Longest Palindromic Substring
Solution to Longest Palindromic Substring Problem. See this video for a nice explanation.
class Solution {
int resultStart;
int resultLength;
public String longestPalindrome(String s) {
int strLen = s.length();
if(strLen < 2)
return s;
for(int start=0;start<strLen-1;start++) {
expandRange(s, start, start);
expandRange(s, start, start + 1);
}
return s.substring(resultStart, resultStart + resultLength);
}
private void expandRange(String str, int begin, int end) {
while(begin >=0 && end < str.length() &&
str.charAt(begin) == str.charAt(end)) {
begin--; end++;
}
if(resultLength < (end - begin - 1)) {
resultStart = begin + 1;
resultLength = end - begin - 1;
}
}
}