每日一题 <反转字符串 II>

简介: 每日打卡

image.png

来自力扣的题目,在限定的范围内根据规则进行字符串的反转,不妨以限定条件将数组分割成m个部分,之后根据规则进行反转,C++提供了revese函数帮助我们实现,传入反转范围的开头与结尾就能够使用。

由于是以2k作为范围的限定,在for循环时就可以每次加上2k,这样子就可以圈定每次范围的距离。

最后在反转的时候,可能会出现边界的问题,加上正常反转一共有三种情况,但是正常反转与剩余字符小于2k大于k的效果一样,因此只要确保剩余字符少于k的时候有另一种运行操作。

由此在反转时,若i+k小于n那么则说明剩余字符是大于k个的,因此正常反转,否则反转边界限定至数组结尾。

class Solution {
public:
string reverseStr(string s, int k) {
    int n = s.length();
    for (int i = 0; i < n; i += 2 * k) {
        reverse(s.begin() + i, s.begin() + min(i + k, n));
    }
    return s;
}
};

image.gif

目录
相关文章
|
C语言
基于链表实现的链式管理系统(C语言课设)
基于链表实现的链式管理系统(C语言课设)
|
Linux Shell
【Linux】详解进程终止&&进程等待
【Linux】详解进程终止&&进程等待
130 0
|
缓存 JavaScript Serverless
一些可能被忽视的 Vue3 API 附带案例
一些可能被忽视的 Vue3 API 附带案例
184 0
|
SQL 缓存 关系型数据库
SqlAlchemy 2.0 中文文档(三十五)(4)
SqlAlchemy 2.0 中文文档(三十五)
151 1
|
监控 JavaScript 前端开发
统计项目代码行数轻松搞定:使用 Node.js 脚本自动统计代码量
统计项目代码行数轻松搞定:使用 Node.js 脚本自动统计代码量
424 0
|
JavaScript 前端开发 数据处理
「Vue面试题」vue要做权限管理该怎么做?如果控制到按钮级别的权限怎么做?
「Vue面试题」vue要做权限管理该怎么做?如果控制到按钮级别的权限怎么做?
197 0
|
JavaScript 前端开发 Unix
vue3毫秒级时间戳转换
该内容介绍了一个关于时间戳转换的工具包,包括将时间转换为时间戳和时间戳转换为时间的两个JavaScript函数。`Jh_convertTimeStamp`函数将日期字符串转换为时间戳,而`Jh_timeStampToTime`函数则将时间戳转换回指定格式的日期字符串。此外,还提到了一个在线时间戳转换工具的链接和一个名为Tools-Web的开源工具站,可用于搭建个人综合工具站。
141 0
|
存储 应用服务中间件 nginx
Nginx模块开发:handler模块实现
Nginx模块开发:handler模块实现
100 0
|
数据采集 开发工具
ZYNQ-实现GPIO的中断控制
ZYNQ-实现GPIO的中断控制
588 0
ZYNQ-实现GPIO的中断控制
|
前端开发 数据可视化
漏刻有时数据可视化大屏常见问题(12):CSS美化滚动条
漏刻有时数据可视化大屏常见问题(12):CSS美化滚动条
180 0