From 185ef9fcb0e59f13e9ee0ccb261693cdaddebab0 Mon Sep 17 00:00:00 2001 From: crupest Date: Tue, 23 Feb 2021 21:07:19 +0800 Subject: import(solutions): Move leetcode solutions to subdir. --- works/solutions/leetcode/cpp/680.cpp | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 works/solutions/leetcode/cpp/680.cpp (limited to 'works/solutions/leetcode/cpp/680.cpp') diff --git a/works/solutions/leetcode/cpp/680.cpp b/works/solutions/leetcode/cpp/680.cpp new file mode 100644 index 0000000..21d150f --- /dev/null +++ b/works/solutions/leetcode/cpp/680.cpp @@ -0,0 +1,35 @@ +#include + +using std::string; + +bool strict_palindrome(string::const_iterator left, string::const_iterator right) +{ + while (left < right) + { + if (*left != *right) + return false; + ++left; + --right; + } + return true; +} + +class Solution +{ +public: + bool validPalindrome(string s) + { + string::const_iterator left = s.cbegin(); + string::const_iterator right = s.cend() - 1; + + while (left < right) + { + if (*left != *right) + return strict_palindrome(left, right - 1) || strict_palindrome(left + 1, right); + + ++left; + --right; + } + return true; + } +}; -- cgit v1.2.3