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

    题目描述:

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

    示例1:

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

    方法:遍历添加      

          在 Python 语言中,字符串被设计成「不可变」的类型,即无法直接修改字符串的某一位字符,需要新建一个字符串实现。

    算法流程:

          1. 初始化一个 list 记为 res ;
          2. 遍历列表 s 中的每个字符 c :
                当 c 为空格时:向 res 后添加字符串 "%20" ;
                当 c 不为空格时:向 res 后添加字符 c ;
          3. 将列表 res 转化为字符串并返回。

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

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

    class Solution:
        def replaceSpace(self, s: str) -> str:
            rec = []
            for c in s:
                if c == ' ':
                    rec.append('%20')
                else:
                    rec.append(c)
            return ''.join(rec)
    
  • 相关阅读:
    Intellij Idea快捷键
    JSP学习
    java 多线程
    java IO流(二)
    java IO流(一)
    java异常处理
    java集合类
    Java常见面试题
    面向对象编程的理解
    软件测试之BUG分析定位概述(QA如何分析定位BUG)(转载)
  • 原文地址:https://www.cnblogs.com/chenjin2018/p/14017218.html
Copyright © 2011-2022 走看看