LeetCode 541 翻转字符串II[翻转] HERODING的LeetCode之路
Posted HERODING23
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 541 翻转字符串II[翻转] HERODING的LeetCode之路相关的知识,希望对你有一定的参考价值。
解题思路:
只能说题目的意思过于含糊不清,其实很简单,就是每隔k个数,翻转k个数,最后不够k长度的反转。那么最直接的操作就是在原序列上操作,遍历时,每2k个数作为一个隔间,前k个翻转,不够k个直接翻转,代码如下:
class Solution {
public:
string reverseStr(string s, int k) {
int len = s.length();
for(int i = 0; i < len; i += 2 * k) {
// 没到最后
if(i + k < len) {
reverse(s.begin() + i, s.begin() + i + k);
} else {
// 最后不足k
reverse(s.begin() + i, s.end());
}
}
return s;
}
};
以上是关于LeetCode 541 翻转字符串II[翻转] HERODING的LeetCode之路的主要内容,如果未能解决你的问题,请参考以下文章
代码随想录算法训练营第8天 | ● 344.反转字符串 ● 541. 反转字符串II ● 剑指Offer 05.替换空格 ● 151.翻转字符串里的单词 ● 剑指Offer58-II.左旋转字符串
[LeetCode] 186. Reverse Words in a String II 翻转字符串中的单词 II