题目:实现一个函数,可以左旋字符串中的k个字符。
ABCD左旋一个字符得到BCDA
ABCD左旋两个字符得到CDAB
void left_move(char *str, int k)
{}
void Reverse(char *left, char *right)
{
while (left < right)
{
char temp = *left;
*left = *right;
*right = temp;
left++;
right--;
}
}
void left_move(char *str, int k)
{
Reverse(str, str+k-1);
Reverse(str+k, str + strlen(str) - 1);
Reverse(str, str + strlen(str) - 1);
}
int main()
{
char str[] = "abcdef";
left_move(str, 2);
printf("%s\n", str);
system("pause");
return 0;
}
运行结果: