返回

字符串左旋

发布时间:2023-01-31 05:49:40 285

第一种  暴力穷举法

#include
#include
void left_move(char* arr,int k)
{
int i=0;
int len=strlen(arr);
for(i=0;i<k;i++)
{
int j=0;
char tmp=arr[0];
for(j=0;j<len-1;j++)
{
arr[j]=arr[j+1];
}
arr[j]=tmp;
}
}

int main()
{
char arr[]="abcdef";
int k=0;
scanf("%d",&k);
left_move(arr,k);
printf("%s\n",arr);
}

第二种  三部翻转

//bacdef

//bafedc

//cdefab

void reverse(char* left,char* right)
{
while(left<right)
{
char tmp=*left;
*left=*right;
*right=tmp;
left++;
right--;
}
}

void left_move(char* arr,int k)
{
int len=strlen(arr);
reverse(arr,arr+k-1);
reverse(arr+k,arr+len-1);
reverse(arr,arr+len-1);
}

int main()
{
char arr[]="abcdef";
int k=0;
scanf("%d",&k);
left_move(arr,k);
printf("%s\n",arr);
}
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线