卡码网55:右旋字符串


思路:

和LeetCode151思路类似

①整体翻转

②前k个翻转

③后k个翻转

c 复制代码
#include<stdio.h>
#include<string.h>
void reverse(char *s,int L,int R)
{
    int len=R-L+1;
    int j=R;
    for(int i=L;i<L+len/2;i++)
    {
        char tmp=s[i];
        s[i]=s[j];
        s[j--]=tmp;
    }
}
int main()
{
    char str[10000];
    //1.接收字符串和正整数k
    //printf("请输入正整数k\n");
    int k;
    scanf("%d\n",&k);
    //printf("请输入一个字符串:\n");
    fgets(str,sizeof(str),stdin);
    // 去掉末尾的换行符(如果有)
    str[strcspn(str, "\n")] = '\0';
    //2.获取字符串长度
    int len=strlen(str);
    //3.整体翻转
    reverse(str,0,len-1);
    //4.局部翻转
    reverse(str,0,k-1);//前k个
    reverse(str,k,len-1);//后k个
    //3.输出字符串
    printf("%s\n",str);
    return 0;
}
相关推荐
Hanson Huang22 分钟前
【数据结构】堆排序详细图解
java·数据结构·排序算法·堆排序
Susea&22 分钟前
数据结构初阶:队列
c语言·开发语言·数据结构
慕容静漪25 分钟前
如何本地安装Python Flask并结合内网穿透实现远程开发
开发语言·后端·golang
ErizJ27 分钟前
Golang|锁相关
开发语言·后端·golang
GOTXX31 分钟前
【Qt】Qt Creator开发基础:项目创建、界面解析与核心概念入门
开发语言·数据库·c++·qt·图形渲染·图形化界面·qt新手入门
路在脚下@39 分钟前
Redis实现分布式定时任务
java·redis
搬砖工程师Cola40 分钟前
<C#>在 .NET 开发中,依赖注入, 注册一个接口的多个实现
开发语言·c#·.net
xrkhy41 分钟前
idea的快捷键使用以及相关设置
java·ide·intellij-idea
巨龙之路1 小时前
Lua中的元表
java·开发语言·lua
徐行1101 小时前
C++核心机制-this 指针传递与内存布局分析
开发语言·c++