当前位置: 首页 > article >正文

LeetCode541. 反转字符串 II

541. 反转字符串 II

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

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

示例 1:

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

示例 2:

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

代码

class Solution {
public:
    string reverseStr(string s, int k) {
        for (int i = 0; i < s.size(); i += 2 * k) {
            if (i + 2 * k > s.size()) {
                if (s.size() - i > k) {
                    // 左闭右开,第一个参数指向要翻转的第一个字符,第二个参数指向最后一个字符的下一位地址
                    reverse(s.begin() + i, s.begin() + i + k);
                } else {
                    reverse(s.begin() + i, s.end());
                }
                continue;
            }
            reverse(s.begin() + i, s.begin() + i + k);
        }
        return s;
    }
};

image-20240204175324152


http://www.kler.cn/a/230121.html

相关文章:

  • 若依框架部署在网站一个子目录下(/admin)问题(
  • 3DMAX带孔绞线插件使用方法详解
  • 【软件国产化】| Windows和Linux下文件名后缀是否区分大小写
  • QML学习 —— 32、自定义侧边滑动菜单(附源码)
  • 【机器学习chp7】SVM
  • VITE+VUE3+TS环境搭建
  • C++单例模式详解
  • Pandas常用操作记录(更新中)
  • 74HC154D-LED
  • Swift Combine 从入门到精通一
  • Python数据可视化库之mplfinance使用详解
  • android开发中遇到的问题和注意点
  • 陶哲轩如何用 GPT-4 辅助数学研究
  • 在Python中执行Linux Shell脚本详解
  • BLEUScore AttributeError: ‘list‘ object has no attribute ‘split‘——问题解决
  • LRU缓存
  • MySQL 表的设计
  • Android13多媒体框架概览
  • 三维天地为生物制药研发实验室物料平衡管理提供有力支持
  • 百度PaddleOCR字符识别推理部署(C++)
  • 备战蓝桥杯---搜索(剪枝)
  • sqli.bypass靶场本地小皮环境(1-5关)
  • Linux定时器
  • 决策树之scikit-learn
  • 华为机考入门python3--(9)牛客9-提取不重复的整数
  • 二层交换机配置以太网通道