字符串-替换空格

作者: 小八是怪兽 | 来源:发表于2020-03-09 13:17 被阅读0次

题目:请实现一个函数,把字符串的每个空格换成“%20”。
思路:

  1. 将字符串遍历一遍,返回字符串中存在的空格个数。
  2. 使用两个指针,old指向原字符串末尾,new指向新字符串末尾(即原字符串长度+2*空格数)。
  3. 使用循环从新旧两个字符串的尾部开始向前遍历一遍,若old指向字符,则将字符复制到新的字符串new_str中,同时old - 1; new - 1
  4. 若old指向的是空格,则新字符串中按位依次填上 0 - 2 - %,同时 old -1;new - 3
  5. 循环结束条件: 直到old不再小于new

代码 (python)

def replaceblank(astr):
    # 遍历找出原字符串中空格的数量blank. -- step 1
    blank = 0
    for i in range(len(astr)):
        if astr[i] == ' ':
            blank += 1
    # 构建old与new两个指针 -- step 2
    old = len(astr) - 1      
    new = old + 2*blank
    new_str = [None for i in range(new+1)] 
    while old <= new:  
    #step 4
        if astr[old] == ' ':
            new_str[new] = '0'
            new_str[new-1] = '2'
            new_str[new-2] = '%'
            new = new - 3
        else:
   #step 3
            new_str[new] = astr[old]
            new = new - 1
        old = old - 1
       
    return ''.join(new_str)

注意:

  • 循环条件为old <= new 而不是old < new

相关文章

  • 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/ufojectx.html