卡码网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;
}
相关推荐
techdashen几秒前
Go 1.18+ slice 扩容机制详解
开发语言·后端·golang
浙江巨川-吉鹏1 分钟前
【城市地表水位连续监测自动化系统】沃思智能
java·后端·struts·城市地表水位连续监测自动化系统·地表水位监测系统
froginwe115 分钟前
R 包:全面解析与高效使用指南
开发语言
zero.cyx8 分钟前
javaweb(AI)-----后端
java·开发语言
鹿角片ljp9 分钟前
Java深入理解MySQL数据库操作
java·mysql·adb
NE_STOP11 分钟前
SpringBoot集成shiro
java
RemainderTime13 分钟前
从零搭建Spring Boot3.x生产级单体脚手架项目(JDK17 + Nacos + JWT + Docker)
java·spring boot·架构
黯叶15 分钟前
基于 Docker+Docker-Compose 的 SpringBoot 项目标准化部署(外置 application-prod.yml 配置方案)
java·spring boot·redis·docker
say_fall15 分钟前
泛型编程基石:C++ 模板从入门到熟练
java·开发语言·c++·编辑器·visual studio
代码笔耕17 分钟前
写了几年 Java,我发现很多人其实一直在用“高级 C 语言”写代码
java·后端·架构