Description

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

Solutions

  这个问题是因为替换的字符是有数位的变化,不好直接在传入的字符串上进行操作,于是单独设立了一个字符串存:

# -*- coding:utf-8 -*-
class Solution:
    # s 源字符串
    def replaceSpace(self, s):
        # write code here
        s_c = ''
        for i, c in enumerate(s):
            if c == ' ':
                s_c += '%20'
            else:
                s_c += c
        return s_c
# 运行时间:30ms
# 占用内存:5844k

  值得用 C++ 实现的版本思路如下:先遍历一遍数组,然后计算出最后的大小,再次复制遍历的时候,从右往左遍历,这样方便复制,不用挪动。

References

  1. 替换空格