1.leetcode--URL优化

Posted on 2021-04-03 11:19  陈夫子  阅读(54)  评论(0)    收藏  举报

https://leetcode-cn.com/problems/string-to-url-lcci/

URL化。编写一种方法,将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。(注:用Java实现的话,请使用字符数组实现,以便直接在数组上操作。)

示例 1:

输入:"Mr John Smith ", 13
输出:"Mr%20John%20Smith"
示例 2:

输入:" ", 5
输出:"%20%20%20%20%20"

来源:力扣(LeetCode)

 

char* replaceSpaces(char* S, int length){
    int i = 0;
    int count = 0;
    int len = 0;
    char *pbuf = NULL;
    char *ptr = NULL;
    
    for (i=0; i<length; i++)
        count++;
    len = length + count * 2 + 1;

    pbuf = (char *)malloc(len);
    if (NULL == pbuf)
        return NULL;
    memset(pbuf, 0, len);
    ptr = pbuf;

    for (i=0; i<length; i++) {
        if (' ' == S[i]) {
            *ptr++ = '%';
            *ptr++ = '2';
            *ptr++ = '0';
            continue;
        }
        *ptr++ = S[i];
    }
    return pbuf;
}