解法:
第一步:创建跟左旋转字符长度的相等的新字符类型数组temp
第二步:将要左旋转的字符存到新数组中,遍历过后i正好指向左旋转字符的下一位(即无需左旋转的第一位)
第三步:从i开始向后遍历,往前顶替要左旋转的字符的位置,遍历结束后i正好指向字符串结束标志’\0’处
第四步:此时i-n正好为左旋转字符第一位旋转后的位置,因此从i-n位开始,将字符写入原数组
char* reverseLeftWords(char* s, int n){
char temp[n];
int i=0;
//以上为第一步
for(;i<n;i++)
temp[i]=s[i];
//以上为第二步
for(;s[i]!='\0';i++){
s[i-n]=s[i];
}
//以上为第三步
for(int k=0;k<n;k++){
s[i-n]=temp[k];
i++;
}
//以上为第四步
return s;
}