问题描述: 将student a am i转化为i am a student (空间复杂度为1)
#include <stdio.h>
int main()
{
char str[] = "student a am i";
char ch;
int i = 0, j = 0, k = 0, len = 0;
while (str[i] != '\0')
{
k = i;
j = i;
len = 0;
while (str[j] != ' ' && str[j] != '\0')
{
len++;
j++;
}
if (len >= 1 )
{
i = i + len;
len = k + len - 1;
while (k < len)
{
ch = str[k];
str[k] = str[len];
str[len] = ch;
k++;
len--;
}
}
else
i = i + 1;
}
i = 0;
j = 0;
while(str[j] != '\0')
{
j++;
}
j = j - 1;
while (i < j)
{
ch = str[i];
str[i] = str[j];
str[j] = ch;
i++;
j--;
}
printf("%s\n",str);
return 0;
}