定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。
如把字符串 abcdef 左旋转 2 位得到字符串 cdefab
//可以每次将数组中的元素右移一位,循环 J 次。
//abcd1234→4abcd123→34abcd12→234abcd1→1234abcd。
RightShiftStr(int* arr, int N, int J)
{
while(J--)
{ int i;
int t = arr[N - 1];
for(i = N - 1; i > 0; i --)
arr[i] = arr[i - 1];
arr[0] = t;
}
}
这是最直观的解法,但是还有更好的解法,等想到之后更新。