longestPalindrome function

String longestPalindrome(
  1. String s
)

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;
}