剑指 Offer 05. 替换空格

请实现一个函数,把字符串 s 中的每个空格替换成"%20"。

示例 1:

输入:s = "We are happy."
输出:"We%20are%20happy."
 

限制:

0 <= s 的长度 <= 10000

解答:

char* replaceSpace(char* s)

{

    char *p=(char *)malloc((3*strlen(s)+1)*sizeof(char));

    char *q=p;

    for(int i=0;i

    {

        if(s[i]==' ')

        {

            *(p++)='%';

            *(p++)='2';

            *(p++)='0';

        }

        else 

        {

            *(p++)=s[i];

        }

    }

    *p=0;

    return q;

}

这里直接申请了3*strlen(s)+1的存储空间,对于“     ”的情况。

你可能感兴趣的:(c语言,算法,数据结构)