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之路的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode刷题541-简单-翻转字符串 II

代码随想录算法训练营第8天 | ● 344.反转字符串 ● 541. 反转字符串II ● 剑指Offer 05.替换空格 ● 151.翻转字符串里的单词 ● 剑指Offer58-II.左旋转字符串

15118954158-II翻来翻去

[LeetCode] 186. Reverse Words in a String II 翻转字符串中的单词 II

leetcode第一刷_Reverse Linked List II

LeetCode 92 Reverse Linked List II(翻转链表II)(Linked List)(*)