特殊思路:k的重新赋值:当再加就超过字符串的长度时,需要把k变为字符串的剩余长度,不必理会当剩余长度介于k和2k之间的部分 char* reverseStr(char* s, int k) { for(int i=0;i<strlen(s);i=i+2*k) { k=i+k>strlen(s)? strlen(s)-i:k; int left=i; int right=i+k-1; while(left<right) { char t=s[left]; s[left]=s[right]; s[right]=t; left++; right--; } } return s; }