541. 反转字符串 II【力扣】

  1. 反转字符串 II

给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。

如果剩余字符少于 k 个,则将剩余字符全部反转。

如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。

示例 1:

输入:s = "abcdefg", k = 2

输出:"bacdfeg"

示例 2:

输入:s = "abcd", k = 2

输出:"bacd"

思路

翻转2k个字符的前k个字符=>将 s 分为长度为 2k 的小段用 reverse 翻转前k个=>特殊情况: 若最后一段不足k个则全部翻转

cpp 复制代码
class Solution {
public:
    string reverseStr(string s, int k) {
        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;
    }
};

541. 反转字符串 II

相关推荐
KaMeidebaby4 分钟前
卡梅德生物技术快报|Fab 抗体文库构建标准化实验流程与数据复盘
服务器·前端·数据库·人工智能·算法
想唱rap9 分钟前
IO多路转接之epoll
linux·运维·服务器·数据库·网络协议·算法·http
zcg194223 分钟前
图像分割——常用数据和算法
算法
子午25 分钟前
基于YOLO的车牌识别检测~Python+YOLOV8算法+车牌定位+车牌检测+深度学习
python·算法·yolo
梓䈑28 分钟前
【Linux网络】构建UDP网络服务:从Echo到聊天室的线程池架构演进
linux·网络·c++·udp
heimeiyingwang32 分钟前
【架构实战】分布式ID生成:雪花算法与业务ID设计
分布式·算法·架构
学会去珍惜32 分钟前
C++如何与C语言混合编程_在C++项目中调用C库函数的extern “C“方法
c语言·c++·混合编程·extern
十五年专注C++开发34 分钟前
QHttp: 一个开源的轻量级、异步、高性能 HTTP 库
c++·qt·网络协议·http·qhttp
小小de风呀36 分钟前
de风——【从零开始学C++】(八):string的模拟实现
开发语言·c++
代码中介商37 分钟前
排序算法完全指南(一):冒泡排序深度详解
算法·排序算法