标签: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