leetcode刷题自记录——剑指offer05. 替换空格

247 阅读1分钟

题目

请实现一个函数,把字符串 s 中的每个空格替换成"%20"。是一个难度easy的题。

思路

首先很自然的能想到用replace将“ ”转化为“%20”

return s.replace(" ","%20")

如果不在原字符串上修改的话,也可以新建字符串,遇到空格加一个“%20”再向后遍历

最后使用切片在原字符串上修改

代码

class Solution:
    def replaceSpace(self, s: str) -> str:
        if not s:
            return ""
            
        l = len(s)
        p = 0
        while p<l:
            if s[p] == ' ':
                l+=2
                s = s[:p]+'%20'+s[p+1:]
                p+=2
            else:
                p+=1
        return s