LEETCODE刷题 替换空格

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void replaceBlank(char string[],int len)
{
    int oriLen = 0;
    int numOfBlank = 0;
    int i = 0;
    int newLen;

    int indexOfOriginal;
    int indexOfNew;while(string[i]!='\0')
    {
        ++oriLen;
        if(string[i]==' ')
        {
            ++numOfBlank;
        }
        ++i;
    }
    newLen = oriLen + numOfBlank * 2;
    printf("newLen = %d\n",newLen);
    if(newLen > len)
    {
        return;
    }
    indexOfOriginal = oriLen;
    indexOfNew = newLen;
    printf("indexOfNew = %d\n",indexOfNew);
    while(indexOfOriginal >= 0 && indexOfNew > indexOfOriginal)
    {
        if(string[indexOfOriginal] == ' ')
        {
        string[indexOfNew--] = '0';
        string[indexOfNew--] = '2';
        string[indexOfNew--] = '%';
        }
        else
        {
         string[indexOfNew--] = string[indexOfOriginal];
        }
        --indexOfOriginal;
    }
  printf("%s",string);   
}
void main()
{
    char string[20] = "we are happy";
    replaceBlank(string,30);
}

 

posted @ 2020-06-27 11:49  Anita光子  阅读(109)  评论(0编辑  收藏  举报