longestPalindrome function
Returns the longest palindromic substring in the given string s.
Uses center expansion technique checking both odd and even length palindromes.
Example:
String longest = longestPalindrome("babad");
print(longest); // Outputs "bab" or "aba"
Implementation
String longestPalindrome(String s) {
if (s.isEmpty) return "";
String longest = "";
for (int i = 0; i < s.length; i++) {
String oddPalindrome = _expandAroundCenter(s, i, i);
String evenPalindrome = _expandAroundCenter(s, i, i + 1);
String longerPalindrome =
oddPalindrome.length > evenPalindrome.length
? oddPalindrome
: evenPalindrome;
if (longerPalindrome.length > longest.length) {
longest = longerPalindrome;
}
}
return longest;
}