卡码网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;
}
相关推荐
bearpping8 分钟前
Java进阶,时间与日期,包装类,正则表达式
java
IT猿手9 分钟前
基于控制障碍函数的多无人机编队动态避障控制方法研究,MATLAB代码
开发语言·matlab·无人机·openclaw·多无人机动态避障路径规划·无人机编队
邵奈一13 分钟前
清明纪念·时光信笺——项目运行指南
java·实战·项目
AI科技星19 分钟前
全尺度角速度统一:基于 v ≡ c 的纯推导与验证
c语言·开发语言·人工智能·opencv·算法·机器学习·数据挖掘
sunwenjian88633 分钟前
Java进阶——IO 流
java·开发语言·python
波特率11520039 分钟前
const关键字与函数的重载
开发语言·c++·函数重载
sinat_2554878143 分钟前
读者、作家 Java集合学习笔记
java·笔记·学习
FL16238631291 小时前
[C#][winform]segment-anything分割万物部署onnx模型一键抠图演示
开发语言·c#
皮皮林5511 小时前
如何画出一张优秀的架构图?(老鸟必备)
java
百锦再1 小时前
Java 并发编程进阶,从线程池、锁、AQS 到并发容器与性能调优全解析
java·开发语言·jvm·spring·kafka·tomcat·maven