class Solution {
public:string longestPalindrome(string s) {int sz = s.size();for(int len = sz; len >= 1; len--){int c = (len - 1) / 2;if(len % 2 != 0) {for(; c + len / 2 < sz; c++){int d = 1;for(; d <= len / 2; d++){if(s[c-d] != s[c+d]) break;}if(d > len / 2) return s.substr(c-(d-1), len);}}else{for(; c + len / 2 < sz; c++){int t = c;for(; c - t <= len / 2 - 1; t--){if(s[t] != s[2 * c - t + 1]) break;}if(c - t > len / 2 - 1) return s.substr((t+1), len);}}}return s.substr(0,1);}
};
6. Z 字形变换
class Solution {
public:string convert(string s, int numRows) {int r = numRows;string ss[1010];int sz = s.size();int rx = -1; int d = 1;for(int i = 0; i < sz; i++){rx += d;ss[rx] += s[i];if(r == 1) {d = 0;}else if(rx == r-1) {d = -1;}else if(rx == 0) {d = 1;}}string ans;for(int i = 0; i < r; i++) ans += ss[i];return ans;}
};