- //trim a string by make more than one blank to one blank
- char* trim(char* a)
- {
- int i=-1,j=0;
- for (;a[j]!='\0';j++)
- {
- if (a[j]==a[j+1] && a[j+1]==' ')
- {
- //skip more than one blank
- while (a[j]==' ')
- {
- ++j;
- }
- --j;// go back to the last blank
- }
- a[++i]=a[j];
- }
- a[++i]='\0';
- return a;
- }
- int main( void )
- {
- char a[100]="a b c d e f";
- printf(a);
- printf(trim(a));
- return 0;
- }
删除字符串中的连续空格(只保留一个),O(n)时间复杂度,O(1)空间复杂度
最新推荐文章于 2022-07-23 15:33:45 发布