Find the Longest Palindromic Substring?
(Repeated here for convenience)
string LongestPalindrome(string s)
{
if (string.IsNullOrEmpty(s)) return "";
int start = 0, maxLen = 1;
for (int i = 0; i < s.Length; i++)
{
ExpandAroundCenter(s, i, i, ref start, ref maxLen);
ExpandAroundCenter(s, i, i + 1, ref start, ref maxLen);
}
return s.Substring(start, maxLen);
}
void ExpandAroundCenter(string s, int left, int right, ref int
start, ref int maxLen)
{
while (left >= 0 && right < s.Length && s[left] == s[right])
{
Follow on:
if (right - left + 1 > maxLen)
{
start = left;
maxLen = right - left + 1;
}
left--;
right++;
}
}