美文网首页
字符串替换空格

字符串替换空格

作者: 哦漏昵称已被占用 | 来源:发表于2017-09-30 17:06 被阅读0次
题目描述

请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

注意

原来一个空格字符,替换之后,变成‘%’,‘2’,‘0’三个字符,字符串长度会变长。如果是在原来的字符串上做替换,要保证原来的字符串有足够的空余内存。

从前向后,时间复杂度为O(n^2)

从头到尾扫描字符串,每次碰到空格字符时做替换,空格后所有的字符向后移2个字节。

从后向前,时间复杂度O(n)

先遍历一遍字符串,求出所有空格的总数和字符串实际长度。计算出替换之后的字符串的总长度,从字符串最后开始复制和替换,包括‘\0’。

class Solution {
public:
    void replaceSpace(char *str, int length) {
        if (str == NULL || length <= 0)
            return;

        int blanksize = 0;  //空格数
        int len=0;          //数组实际长度
        for (int i = 0; str[i]!='\0'; i++)//注意此处判断条件不是i<length
        {
            len++;
            if (str[i] == ' ')
                blanksize++;
        }

        int newLen = len + blanksize * 2;
        if (newLen > length)
            return;
        int j = newLen;
        for (int i = len; i >= 0; i--)
        {
            if (str[i] != ' ')
                str[j--] = str[i];
            else
            {
                str[j--] = '0';
                str[j--] = '2';
                str[j--] = '%';
            }
        }
    }
};

相关文章

  • 2019-08-04-字符串操作

    一,题目:替换字符串中的空格 替换空格为20% 1,先根据字符串的长度获取空格的个数, 2,根据空格个数确定替换之...

  • 去掉空格、替换字符

    去掉首尾空格 替换字符 (将空格替换为无,即为去掉字符串中所有的空格)

  • Android中string.xml应用

    配置字符串替换 单个字符串替换 使用Context方法,动态替换 多个个字符串替换 配置字符串中的空格

  • 15条高效JS技巧!

    延迟函数delay 分割指定长度的元素数组 获取数组交集 字符串前面空格去除与替换 字符串后面空格去除与替换 获取...

  • NSString

    替换字符串中的内容 取掉字符串的空格 字符串输出

  • js实现字符串算法

    字符串算法 替换空格 剑指offer:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为W...

  • 字符串空格替换

    字符串替换 可以看见, 这里面是有两个空格哦 正则清除空格 去除字符串内所有的空格:str = str.repla...

  • Java日记2018-05-25

    替换空格请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为 We Are Happy. 则经过...

  • 剑指offer-02-替换空格

    替换空格: 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则...

  • 《剑指offer》— JavaScript(2)替换空格

    替换空格 题目描述 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy...

网友评论

      本文标题:字符串替换空格

      本文链接:https://www.haomeiwen.com/subject/slfnextx.html