标签:style blog color os io strong 数据 ar
UDBOJ 4 abba 1
JUDBO bbaa
思路:
跟翻转单词顺序类似:
1.先翻转前n个字符;
2.再翻转后len-n个字符;
3.整体旋转一下。
/*
左旋字符串
by Rowandjj
2014/8/16
*/
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void Reverse(char *pBegin,char *pEnd)
{
if(pBegin == NULL || pEnd == NULL)
{
return;
}
char temp;
while(pBegin < pEnd)
{
temp = *pBegin;
*pBegin = *pEnd;
*pEnd = temp;
pBegin++;
pEnd--;
}
}
//pData为字符串 n为左旋字符的个数
void LeftRotateString(char *pData,int n)
{
if(pData == NULL || n <= 0)
{
return;
}
int len = strlen(pData);
if(len <= 0)
{
return;
}
n = n%len;
//旋转前n个字符
Reverse(pData,pData+n-1);
//旋转后面len-n个字符
Reverse(pData+n,pData+len-1);
//整体旋转
Reverse(pData,pData+len-1);
}
int main()
{
char str[1000];
int n;
while(scanf("%s %d",str,&n) != EOF)
{
LeftRotateString(str,n);
printf("%s\n",str);
}
return 0;
}
标签:style blog color os io strong 数据 ar
原文地址:http://blog.csdn.net/chdjj/article/details/38612827