给定字符串(ASCII码0-255)数组,请在不开辟额外空间的情况下删除开始和结尾处的空格,并将中间的多个连续的空格合并成一个。例如:" i am a little boy. ",变成"i am a little boy",语言不限,但不要用伪代码作答,函数输入输出请参考如下的函数原型: C++函数原型: void FormatString(char str[],int len){ }
void FormatString(char str[], int len)
{
if(str == NULL || len <= 0)
return;
int i = 0, j = 0;
while(str[i] == ' ')//开头的空格
i++;
while(str[i] != '\0')
{
if(str[i] == ' ' && (str[i+1] == ' ' || str[i+1] == '\0'))//中间或者结尾的空格
{
i++;
continue;
}
str[j++] = str[i++];
}
str[j] = '\0';
}