本文共 724 字,大约阅读时间需要 2 分钟。
两种情况考虑,反向思维:class Solution { public: string longestPalindrome(string s) { if (s.size() <= 1) return s; int mid = 0; int max_length = 1; for (int i = 0; imax_length || temp2>max_length) { mid = i; max_length = temp1>temp2 ? temp1 : temp2; } } if (max_length % 2 != 0) return s.substr(mid - max_length / 2, max_length); else return s.substr(mid - max_length / 2 + 1, max_length); }private: int funt(string &s, int L, int R) { int out = 0; while (L >= -1 && R<=s.size()) { if (L >= 0 && R < s.size()) { if (s[L] == s[R]) { L--; R++; } else { out = R - L - 1; break; } } else { out = R - L - 1; break; } } return out; }};
转载地址:http://vvyci.baihongyu.com/