剑指offer58左旋转字符串||C语言

解法:
第一步:创建跟左旋转字符长度的相等的新字符类型数组temp
第二步:将要左旋转的字符存到新数组中,遍历过后i正好指向左旋转字符的下一位(即无需左旋转的第一位)
第三步:从i开始向后遍历,往前顶替要左旋转的字符的位置,遍历结束后i正好指向字符串结束标志’\0’处
第四步:此时i-n正好为左旋转字符第一位旋转后的位置,因此从i-n位开始,将字符写入原数组

char* reverseLeftWords(char* s, int n){
char temp[n];
int i=0;
//以上为第一步
for(;i<n;i++)
    temp[i]=s[i];
    //以上为第二步
for(;s[i]!='\0';i++){
    s[i-n]=s[i];
}
//以上为第三步
for(int k=0;k<n;k++){
    s[i-n]=temp[k];
    i++;
}
//以上为第四步
return s;
}

执行情况

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值