话不多说,直接上代码:
时间复杂度是O(n)
void reverse(char s[])
{
int i, j; //下标j、i分别从前面和后面同时向中间靠近
char temp;
j = 0;
for (i = 0; s[i] != '\0'; i++) //排除'\0'
;
if (s[--i] == '\n') //排除'\n'
i--;
while (j < i) {
temp = s[j];
s[j] = s[i]; /* 交换位置*/
s[i] = temp;
j++;
i--;
}
}