Longest Palindromic Substring (Medium)
Input: "babad"
Output: "bab"
Note: "aba" is also a valid answer.Input: "cbbd"
Output: "bb"Basic Idea:
class Solution { private int start = 0, maxLength = 0; public String longestPalindrome(String s) { if (s == null) return ""; else if (s.length() < 2) return s; for (int i = 0; i < s.length(); ++i) { helper(s, i, i); // odd helper(s, i - 1, i); // even } return s.substring(start, start + maxLength); } private void helper(String s, int l, int r) { while (l >= 0 && r < s.length() && s.charAt(l) == s.charAt(r)) { if (r - l + 1 > maxLength) { start = l; maxLength = r - l + 1; } l--; r++; } } }