5.替换空格

作者: HamletSunS | 来源:发表于2019-06-30 17:59 被阅读0次

思路:
为了避免插入操作,可以考虑从后往前去替换空格。
可以通过先计算空格数目确定新数组的长度,这样设置两个指针i,j(或索引)去进行原地操作,遇空格就替换i-1,j-3,别的就直接复制,当i与j相等时停止操作

class Solution {
public:
    void replaceSpace(char *str,int length) {
        int old_n=0,new_n=0;
        int i=0,blank=0;
        while(str[i]!='\0'){
            old_n++;
            if(str[i]==' ')
                blank++;
            i++;
        }
        new_n=old_n+2*blank;
        if(new_n>length)
            return;
        while(old_n>=0 && new_n>old_n){
            if(str[old_n]==' '){
                str[new_n--]='0';
                str[new_n--]='2';
                str[new_n--]='%';
            }
            else
                str[new_n--]=str[old_n];
            old_n--;
        }
    }
};

相关文章

  • 5.替换空格

    题目:请实现一个函数,把字符串中的每个空格替换成“%20”。例如,输入“We are happy.”,则输出“We...

  • 5.替换空格

    思路:为了避免插入操作,可以考虑从后往前去替换空格。可以通过先计算空格数目确定新数组的长度,这样设置两个指针i,j...

  • 5.替换空格

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

  • 算法-5.替换空格

    请实现一个函数,把字符串 s 中的每个空格替换成"%20"。思路:首先找到字符串中所有的字符数,遍历其中有多少个空...

  • 《剑指offer》5.替换空格

    在python中,字符串是不可变类型。这意味着使用str.replace会生成一个新的字符串,即需要额外的O(n)...

  • 替换空格

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

  • 空格替换

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

  • 替换空格

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

  • 空格替换

    空格替换设计一种方法,将一个字符串中的所有空格替换成 %20 。你可以假设该字符串有足够的空间来加入新的字符,且你...

  • 替换空格

    《剑指offer》面试题5:替换空格 题目:请实现一个函数,把字符串中的每个空格替换成“%20”。例如,输入“we...

网友评论

    本文标题:5.替换空格

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