classSolution { public: boolisPalindromic(const string& s){ int n = s.length(); for (int i = 0; i < n / 2; i++) { if (s[i] != s[n - i - 1]) returnfalse; } returntrue; } boolvalidPalindrome(string s){ if (isPalindromic(s)) returntrue; for (int i = 0; i < s.length(); i++) { if (isPalindromic(s.erase(i))) returntrue; }
classSolution { public: boolisPalindromic(const string& s){ int n = s.length(); for (int i = 0; i < n / 2; i++) { if (s[i] != s[n - i - 1]) returnfalse; } returntrue; } boolvalidPalindrome(string s){ if (isPalindromic(s)) returntrue; int i, n = s.length(); for (i = 0; i < n / 2; i++) { if (s[i] != s[n - i - 1]) break; }
returnisPalindromic(s.substr(i, n - 2 * i - 1)) || isPalindromic(s.substr(i + 1, n - 2 * i - 1)); } };