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

字符串_ 反转字符串II

字符串_ 反转字符串II

  • 一、leetcode-541
  • 二、题解
    • 1.引库
    • 2.代码


一、leetcode-541

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

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

输入:s = “abcdefg”, k = 2

输出:“bacdfeg”


二、题解

1.引库

 #include <iostream>
 #include <cstdio>
 #include <cstdlib>
 #include <queue>
 #include <stack>
 #include <algorithm>
 #include <string>
 #include <map>
 #include <set>
 #include <vector>
 using namespace std;
 

2.代码

class Solution {
public:
    void reverse(string &s,int start,int end){
        for(int i=start,j=end;i<j;i++,j--){
            swap(s[i],s[j]);
        }
    }
    string reverseStr(string s, int k) {
        for(int i=0;i<s.size();i+=2*k){
            // 1. 每隔 2k 个字符的前 k 个字符进行反转
            // 2. 剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符
            if(i+k<=s.size()){
                reverse(s,i,i+k-1);
                continue;
            }
            // 3. 剩余字符少于 k 个,则将剩余字符全部反转。
            reverse(s,i,s.size()-1);
        }
        return s;
    }
};

相关文章:

  • 【学写LibreCAD】1 创建核心模块库
  • 数据解析与处理
  • 我的AI工具箱Tauri版-InteriorDecorationDesignDrawing平面设计图生成房屋所有室内的效果图
  • SGMII(Serial Gigabit Media Independent Interface)详解
  • C++ 二叉搜索树与双向链表_牛客题霸_牛客网
  • Docker Desktop 社区版安装配置全流程指南(Windows平台)
  • Docker快速使用指南
  • Spring Boot @Component注解介绍
  • 清华大学DeepSeek赋能职场教程下载,清华大学DeepSeek文档下载(完成版下载)
  • 在VSCode中安装jupyter跑.ipynb格式文件
  • 【备赛】按键消抖+长短按键区分
  • AI工具箱最新使用教程
  • 【有啥问啥】All-to-All 通信:原理、实现与应用
  • YOLOv8架构中的SAConv空洞卷积机制:性能优化与未来发展方向
  • C++ 线程库使用详解
  • 局部适应的分子标记筛选
  • 京准电钟:NTP精密时钟服务器在自动化系统中的作用
  • 2025年2月最新一区SCI-海市蜃楼搜索优化算法Mirage search optimization-附Matlab免费代码
  • 5、进程间有哪些通信方式【高频】
  • 蓝桥杯之日期问题2
  • 马上评丨学术不容“近亲繁殖”
  • “拼好假”的年轻人,今年有哪些旅游新玩法?
  • 两部上戏学生作品亮相俄罗斯“国际大学生戏剧节”
  • 司法部谈民营经济促进法:对违规异地执法问题作出禁止性规定
  • 于东来再次回应玉石质疑:邀请前往胖东来深入考察,随时欢迎各方调查
  • 创历史同期新高!“五一”假期全国快递揽投超48亿件