diff options
Diffstat (limited to 'reverse_string2.cpp')
-rw-r--r-- | reverse_string2.cpp | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/reverse_string2.cpp b/reverse_string2.cpp deleted file mode 100644 index 839a26f..0000000 --- a/reverse_string2.cpp +++ /dev/null @@ -1,34 +0,0 @@ -#include "leetcode.h" - -class Solution { -public: - string reverseStr(string s, int k) { - int len = s.size(), rem = len % (2 * k); - int start = 0, end = 2 * k, actual = len - rem; - string ans = ""; - while (actual) { - string tmp = s.substr(start, end); - reverse(tmp.begin(), tmp.begin() + k); - start += 2 * k; - ans += tmp; - actual -= 2 * k; - } - if (rem > 0) { - if (rem < k) { - string tmp = s.substr(len - rem, rem); - reverse(tmp.begin(), tmp.end()); - ans += tmp; - } else if (rem <= 2 * k) { - string tmp = s.substr(len - rem, rem); - reverse(tmp.begin(), tmp.begin() + k); - ans += tmp; - } - } - return ans; - } -}; - -int main() { - Solution obj; - cout << obj.reverseStr("abcdefg", 2); -} |