力扣541.反转字符串II

原题链接:力扣541.反转字符串II

思路:

其实在遍历字符串的过程中,只要让 i += (2 * k),i 每次移动 2 * k 就可以了,然后判断是否需要有反转的区间。

因为要找的也就是每2 * k 区间的起点,这样写,程序会高效很多。

全代码:

cpp 复制代码
class Solution {
public:
    string reverseStr(string s, int k) {
        int slow = 0;
        int fast = 0;
        for(int i = 0; i < s.size();  i += (2*k))
        {
            if(i + k <= s.size())
            {
                reverse(s.begin() + i,s.begin() + i + k);
            }else
            {
                reverse(s.begin() + i, s.end());
            }
        }
        return s;
    }
};
相关推荐
买了一束花9 分钟前
MATLAB导出和导入Excel文件表格数据并处理
人工智能·算法·matlab
纪元A梦43 分钟前
贪心算法应用:顶点覆盖问题详解
java·算法·贪心算法
爱补鱼的猫猫2 小时前
22、近端策略优化算法(PPO)论文笔记
论文阅读·算法
开心星人2 小时前
【论文阅读】Reconstructive Neuron Pruning for Backdoor Defense
论文阅读·算法·剪枝
_Itachi__3 小时前
LeetCode 热题 100 543. 二叉树的直径
java·算法·leetcode
是代码侠呀3 小时前
飞蛾扑火算法matlab实现
开发语言·算法·matlab·github·github star·github 加星
C++ 老炮儿的技术栈4 小时前
C++中什么是函数指针?
c语言·c++·笔记·学习·算法
大耳猫5 小时前
卡尔曼滤波算法简介与 Kotlin 实现
算法·kotlin·卡尔曼滤波
重生之后端学习5 小时前
day23-集合(泛型&Set&数据结构)
java·开发语言·数据结构·算法
焜昱错眩..6 小时前
代码随想录训练营第二十一天 |589.N叉数的前序遍历 590.N叉树的后序遍历
数据结构·算法