4、字符串——替换空格(python版)

《剑指Offer》

题目描述

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


首先,观察存储的字符串被存储的数据结构是字符串结构,预期是使用%20替换空格,而%20将会占三位字符,空格只有一位字符,说明在替换过程中需要移动字符。

可以考虑使用python中的列表结构,将字符串一位一位的存入列表中,当遇到空格时,改存入"%20"或"%",“2”,“0”。(两者存入的区别是,前者将会把%20作为一个整体存入列表,后者每一个占用一位。即前者list = [‘W’,‘e’,’%20’,…],后者list = [‘W’,‘e’,’%’,‘2’,‘0’,…])。

最后,将列表中的字符转换成一个字符串整体输出。

class Solution:
    # s 源字符串
    def replaceSpace(self, s):
        # write code here
        # return s.replace(' ','%20')
        aaa = []
        for i in range(0,len(s)):
            if s[i] == " ":
                aaa.append("%20")
                ''' or 一位一位存
                aaa.append("%")
                aaa.append("2")
                aaa.append("0")
                '''
            else:
                aaa.append(s[i])
        return ''.join(aaa)

时间复杂度为0(n)


版权声明:本文为qq_41094332原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。