标签:enc public longest bad initial answer man turn name
Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.
Example 1:
Input: "babad" Output: "bab" Note: "aba" is also a valid answer.
Example 2:
Input: "cbbd" Output: "bb"
AC code:
class Solution { public: string longestPalindrome(string s) { int max_left, left, right, max_len, i; max_left = 0; max_len = 1; for (i = 0; i < s.length()-1 && s.length()-i > max_len/2; ) { left = right = i; while (right < s.length()-1 && s[right] == s[right+1]) right++; i = right+1; while (right < s.length()-1 && left > 0 && s[right+1] == s[left-1]) { right++; left--; } if (max_len <= right-left+1) { max_left = left; max_len = right-left+1; } } return s.substr(max_left, max_len); } };
string substr (size_t pos = 0, size_t len = npos) const;
Returns a newly constructed string object with its value initialized to a copy of a substring of this object.
The substring is the portion of the object that starts at character position pos and spans len characters (or until the end of the string, whichever comes first).
size_t is an unsigned integral type (the same as member type string::size_type).
5. Longest Palindromic Substring
标签:enc public longest bad initial answer man turn name
原文地址:https://www.cnblogs.com/ruruozhenhao/p/9716049.html