diff --git a/cpp/0680-valid-palindrome-ii.cpp b/cpp/0680-valid-palindrome-ii.cpp new file mode 100644 index 000000000..b9d54689b --- /dev/null +++ b/cpp/0680-valid-palindrome-ii.cpp @@ -0,0 +1,24 @@ +class Solution { +private: + bool validPalindromeUtil(string s, int i, int j) { + while(i < j) + if(s[i] == s[j]) { + i += 1; + j -= 1; + } else + return false; + return true; + } +public: + bool validPalindrome(string s) { + int i = 0, j = s.length() - 1; + + while(i < j) + if(s[i] == s[j]) { + i += 1; + j -= 1; + } else + return validPalindromeUtil(s, i + 1, j) || validPalindromeUtil(s, i, j - 1); + return true; + } +};