0
点赞
收藏
分享

微信扫一扫

C++“拷贝构造函数”与“等号=赋值运算符重载函数”的使用注意事项

逸省 2023-05-02 阅读 20

每日一题

反转字符串——II

题目链接

在这里插入图片描述

思路

实现代码

//对字符串s的i到k区间的字符进行反转
void S_reverseStr(char * s, int i, int k)
{
    int left = i, right = k - 1;
    while(left <= right)
    {
        char temp = s[left];
        s[left] = s[right];
        s[right] = temp;
        left++;
        right--;
    }
    return;
}
char * reverseStr(char * s, int k){
    for(int i = 0; i < strlen(s); i+=2 * k)
    {
        //如果剩余的字符大于等于k,则反转前k个字符(包含了每2k个字符反转前k个字符的情况)
        if(i + k <= strlen(s))
            S_reverseStr(s,i,i+k);
        //如果剩余的字符小于k,则全部反转
        else
            S_reverseStr(s,i,strlen(s));
    }
    return s;
}
举报

相关推荐

0 条评论