5. Longest Palindromic Substring

来源:互联网 发布:网络算命大师 编辑:程序博客网 时间:2024/05/15 06:35

Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one unique longest palindromic substring.

class Solution {public:    string expandAroundCenter(string s, int c1, int c2) {  int l = c1, r = c2;  int n = s.length();  while (l >= 0 && r <= n-1 && s[l] == s[r]) {    l--;    r++;  }  return s.substr(l+1, r-l-1);} string longestPalindrome(string s) {  int n = s.length();  if (n == 0) return "";  string longest = s.substr(0, 1);  // a single char itself is a palindrome  for (int i = 0; i < n-1; i++) {    string p1 = expandAroundCenter(s, i, i);    if (p1.length() > longest.length())      longest = p1;     string p2 = expandAroundCenter(s, i, i+1);    if (p2.length() > longest.length())      longest = p2;  }  return longest;}};




0 0
原创粉丝点击