首页 > 编程语言 >代码随想录算法训练营第七天| 344.反转字符串 541. 反转字符串II

代码随想录算法训练营第七天| 344.反转字符串 541. 反转字符串II

时间:2023-12-06 21:46:19浏览次数:39  
标签:II int 反转 随想录 344 541 字符串

LeetCode 344.反转字符串

题目链接:  LeetCode344

思路:  定义left、right指针,将两指针对应的值反转即可

 

class Solution {
public:
    void reverseString(vector<char>& s) {
        int n = s.size();
        for(int left=0,right=n-1;left<right;++left,--right){
            swap(s[left],s[right]);
        }
    }
};

 

 

LeetCode 541. 反转字符串II

题目链接:  LeetCode541

思路:

 

class Solution {
public:
    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.begin() + i, s.begin() + i + k );
                continue;
            }
            // 3. 剩余字符少于 k 个,则将剩余字符全部反转。
            reverse(s.begin() + i, s.begin() + s.size());
        }
        return s;
    }
};

 

 

 

 

标签:II,int,反转,随想录,344,541,字符串
From: https://www.cnblogs.com/ygmzj/p/17880299.html

相关文章

  • c#利用正则表达式获取字符串中汉字的个数
    利用正则表达式获取字符串中汉字的个数stringstr=@"D:\文档\C#BASE\StringBuilder.md";Regexregex=newRegex("^[\u4e00-\u9fa5]{0,}$");intcount=0;for(inti=0;i<str.Length;i++){count=regex.IsMatch(str[i].ToString())?++......
  • CWOI 字符串专题
    A-IndieAlbum考虑离线,对询问串跑AC自动机,建出fail树。再把题目中那个版本继承关系建成一棵树,在这棵树上dfs,进入一个点的时候在fail树上单点加,走的时候减掉,维护子树求和即可。点击查看代码#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;const......
  • 为什么 idea 建议去掉 StringBuilder,使用“+”拼接字符串
    为什么idea建议去掉StringBuilder,使用“+”拼接字符串目录为什么idea建议去掉StringBuilder,使用“+”拼接字符串1、普通拼接2、循环拼接总结各位小伙伴在字符串拼接时应该都见过下面这种提示:内容翻译:报告StringBuffer、StringBuilder或StringJoiner的任何用法,这些用法......
  • Leetcode刷题day7-字符串.反转ⅠⅡ.反转单词.右旋转
    344.反转字符串344.反转字符串-力扣(LeetCode)编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用O(1)的额外空间解决这一问题。示例1:输入:s=["h","e","l","l","o"]输......
  • 字符串
    ·字符串一、字符串的一些特点1.从ANSIC标准起,如果字符串面量之间没有间隔,或者用空白字符分隔,C会将其视为串联起来的字符串面量。chargreeting[50]="Hello,and""howare""you""today!";//等价于chargreeting[50]="Hello,andhowareyoutoday!";2.如果要在字符串内部......
  • evalFn 字符串转执行函数 附带JSONParse函数
    constevalFn=(fn)=>{varFun=Function//一个变量指向Function,防止前端编译工具报错returnnewFun('return'+fn)()}/****JSON反序列化,支持函数和undefined*@paramdata*/constJSONParse=(data)=>{returnJSON.parse(data,(k......
  • java字符串String类的常用方法
    java字符串String类的常用方法字符串的创建:(1)定义字符串直接赋值,在字符串池中开辟空间()Stringstr1=“Hello”;//在字符串池中写入字符串"hello"Stringstr2=“Hello”;//直接引用字符串池中的"Hello"System.out.println(str1==str2);//地址相同,输出:true(2)使用new关键字......
  • 从字符串中分离文件路径,文件名及文件扩展名
    从字符串中分离文件路径,文件名及文件扩展名如一个文件:D:\文档\C#BASE\StringBuilder.md要分离出文件路径:D:\文档\C#BASE\文件名:StringBuilder文件扩展名:md这是我们要拿到“\”和“.”这两个字符最后出现的索引stringpath="D:\文档\C#BASE\StringBuilder.md";inti=path.la......
  • C#中如何去掉字符串所有空格
    在字符串操作中Trim方法只能去掉字符串对象前端和后端的空格,但是,如果空格出现在中间如何去除呢?这里可以使用StringBuilder来操作字符串,StringBuilder操作字符串无疑是最为方便高效的。现在利用StringBuilder类中的Replace方法去掉字符串中所有的空格。replace替换stringstr......
  • 带通配符的字符串匹配
     http://ica.openjudge.cn/function1/3/   constintN=1004;intn,m,f[N][N];chara[N],b[N];signedmain(){ inti,j; cin>>a+1>>b+1; n=strlen(a+1);m=strlen(b+1); for(i=1;i<=n;i++) if(a[i]=='*')f[i][0]=1; ......