zoukankan      html  css  js  c++  java
  • 剑指 Offer 05. 替换空格

    一、题目展示

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

    • 示例 1:

      • 输入:s = "We are happy."
      • 输出:"We%20are%20happy."

    二、题意理解及思路

    • 1、 首先在PYTHON中关于数据类型的规定是字符串不可变,所以我们是不可能在原字符串的基础上直接进行修改。

    • 2、既然不可能在原数据上修改,那就考虑处理过程中进行深拷贝或者是,将其转化为其他可变数据类型进行修改再转回字符串。

    • 3、难点:数据类型字符串不可变、遍历

    三、代码及步骤解读

    • 方法一
    class Solution:
        def replaceSpace(self, s):
            res = [] #初始化一个 list
            for c in s: #遍历字符串
                if c == ' ': res.append("%20")
                else: res.append(c)
            return "".join(res) #join()方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
    
    • 方法二
    class Solution:
        # s 源字符串
        def replaceSpace(self, s):
            return s.replace(" ", "%20")
    

    四、复杂度分析

    • 时间复杂度 O(N): 遍历使用 O(N),每轮添加(修改)字符操作使用O(1);

    • 空间复杂度 O(N): Python 新建的list使用了线性大小的额外空间。

  • 相关阅读:
    要离职了。
    上海找工作经历
    1.6. 三基色LED
    1.5. 板载LED PWM模式
    1.4. 板载LED控制
    1.3. 硬件篇之IO口(视频连接)
    1.2 Hello World
    1.8. 数码管
    ESP32编译自己的micropython固件
    1.1 准备工作
  • 原文地址:https://www.cnblogs.com/linyk/p/13962345.html
Copyright © 2011-2022 走看看