From c6be40e8e170273bf157d26b434a89a85bba15b3 Mon Sep 17 00:00:00 2001 From: youngyangyang04 <826123027@qq.com> Date: Fri, 10 Jul 2020 09:13:31 +0800 Subject: [PATCH] Update --- pics/541_反转字符串II.png | Bin 0 -> 33158 bytes problems/0541.反转字符串II.md | 40 ++++++++++++++++++++++++----- 2 files changed, 33 insertions(+), 7 deletions(-) create mode 100644 pics/541_反转字符串II.png diff --git a/pics/541_反转字符串II.png b/pics/541_反转字符串II.png new file mode 100644 index 0000000000000000000000000000000000000000..45f0ce6c83f1f5c4da784262d7c2eb8e820b21ed GIT binary patch literal 33158 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�R3N#zLPH7C9*H(*QYFnm$a~|SD4N*nP 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 literal 0 HcmV?d00001 diff --git a/problems/0541.反转字符串II.md b/problems/0541.反转字符串II.md index bf3f81a9..2c93de82 100644 --- a/problems/0541.反转字符串II.md +++ b/problems/0541.反转字符串II.md @@ -4,9 +4,37 @@ https://leetcode-cn.com/problems/reverse-string-ii/ ## 思路 +先做0344.反转字符串,在做这道题目更好一些 +for循环中i 每次移动 2 * k,然后判断是否需要有反转的区间 + +性能如下: + ## C++代码 + +使用C++库里的反转函数reverse + +``` +class Solution { +public: + string reverseStr(string s, int k) { + for (int i = 0; i < s.size(); i += (2 * k)) { + // 1. 每隔 2k 个字符的前 k 个字符进行反转 + // 2. 剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符 + if (i + k <= s.size()) { + reverse(s.begin() + i, s.begin() + i + k ); + continue; + } + // 3. 剩余字符少于 k 个,则将剩余字符全部反转。 + reverse(s.begin() + i, s.begin() + s.size()); + } + return s; + } +}; +``` + +自己实现反转函数 ``` class Solution { public: @@ -16,22 +44,20 @@ public: swap(s[i], s[j]); } } - -// C++ 自带了reverse 方法,但是我依然建议自己实现 string reverseStr(string s, int k) { - bool entry = false; - int i; - for (i = 0; i < s.size(); i += (2 * k)) { + for (int i = 0; i < s.size(); i += (2 * k)) { + // 1. 每隔 2k 个字符的前 k 个字符进行反转 + // 2. 剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符 if (i + k <= s.size()) { - // std::reverse(s.begin() + i, s.begin() + i + k ); reverse(s, i, i + k - 1); continue; } - // std::reverse(s.begin() + i, s.begin() + s.size()); + // 3. 剩余字符少于 k 个,则将剩余字符全部反转。 reverse(s, i, s.size() - 1); } return s; } }; ``` + > 笔者在先后在腾讯和百度从事技术研发多年,利用工作之余重刷leetcode,本文 [GitHub](https://github.com/youngyangyang04/leetcode-master ):https://github.com/youngyangyang04/leetcode-master 已经收录,欢迎star,fork,共同学习,一起进步。