第一次看到这个题目,想到最简单、最直觉的解法就是:遍历字符串,将第一个字符和最后一个交换,第二个和倒数第二个交换,依次循环,即可,代码如下:
char* reverseString(char* s) {
int sz = strlen(s);
int i = 0, j = sz - 1;
char c;
for(i,j; i<j; i++,j--)
{
c = s[i];
s[i] = s[j];
s[j] = c;
}
return s;
}
此函数原出自Kernighan和Ritchie合作的经典作品TCPL第二版