剑指 offer 05.替换空格(python实现)

该博客介绍了如何用Python解决LeetCode的05题,即替换字符串中的空格。提供了三种解题方法,包括使用内置函数replace、循环拼接和split函数结合的方法。推荐使用split函数,因其在时间和空间复杂度上最优。

题干:

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

解题思路

方法一:使用python自带函数replace实现,将空格替换为%20直接返回即可 (当然,不推荐使用python内置函数进行解题)
方法二:定义一个空字符串,循环字符串,依次循环字符并进行拼接、如遇到空格就+ ‘%20’,最后返回该字符串
方法三:将字符串使用split函数按空格分割为列表,最后对列表拼接时加入’%20’
推荐第三种方法,时间复杂度、空间复杂度最佳

代码

class Solution(object):
    def replaceSpace(self, s):
        """
        :type s: str
        :rtype: str
        """
        # 方法一:
        return s.replace(" ","%20")

		# 方法二:
        res = ''
        for c in s:
            if c == ' ': 
                res = res + '%20'
            else: 
                res = res + c
        return res
        mylist = s.split(' ')

		# 方法三:
		mylist = s.split(' ')
        return '%20'.join(mylist)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值