替换空格

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

示例 1:
输入:s = “We are happy.”
输出:“We%20are%20happy.”

限制:
0 <= s 的长度 <= 10000

来源:力扣(LeetCode)–替换空格

解题

方法一:内置函数

使用python内置函数 replace()

  1. 描述
    str.replace(old, new[, max])
    Python replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
  2. 参数
    old – 将被替换的子字符串。
    new – 新字符串,用于替换old子字符串。
    max – 可选字符串, 替换不超过 max 次
  3. 返回值
    返回字符串中的 old(旧字符串) 替换成 new(新字符串)后生成的新字符串,如果指定第三个参数max,则替换不超过 max 次。
class Solution:def replaceSpace(self, s: str) -> str:# 方法一:return s.replace(" ", "%20")

方法二:遍历添加

创建一个新的字符串,依次匹配字符,如果字符为空,则替换并放入新字符串中;如果字符不为空则直接放入新字符串中。

# python
class Solution:def replaceSpace(self, s: str) -> str:# 方法二:str_ = ''for i in s:if i == ' ':i ='%20'str_ = str_ + ireturn str_
// java
class Solution {public String replaceSpace(String s) {StringBuilder res = new StringBuilder();for(Character c : s.toCharArray()){if(c == ' ') res.append("%20");else res.append(c);}return res.toString();}
}

复杂度分析:
时间复杂度:O(N)O(N)O(N)
空间复杂度:O(N)O(N)O(N),新建字符串使用了线性大小的额外空间。

Java、python中的字符串

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

添加字符串
java +、StringBuilder.append()
python +、list.append() and ’ '.join(list) +适用于较少字符串;list、join()适用于较多字符串的拼接

参考文章:

  1. leetcode题解
  2. Java 字符串拼接效率分析及最佳实践
  3. python字符串追加字符_Python字符串追加

剑指offer:替换空格相关推荐

  1. 剑指Offer 替换空格

    题目描述 请实现一个函数,将一个字符串中的空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 思路: 替换空 ...

  2. [剑指Offer]替换空格

    今天看题的时候,遇到一个替换空格的题目,分析一下哈. 题目要求:把字符串中的每个空格替换成"%20".例如输入"we are happy",则输出"w ...

  3. python剑指offer替换空格_《剑指offer》2-替换空格【Java+Python】

    替换空格 1. 题目描述 请实现一个函数,将一个字符串中的空格替换成"%20". 2. 示例 例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%2 ...

  4. python剑指offer替换空格_迷人的算法-剑指offer面试题5:替换空格

    题目:请实现一个函数,把字符串中的每个空格替换成"%20". 例如,输入"We are happy.",则输出"We%20are%20happy.&q ...

  5. [剑指offer] 替换空格

    题目描述 请实现一个函数,将一个字符串中的空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 刚开始用rep ...

  6. python剑指offer替换空格_02_替换空格【python】

    1.题目描述 请实现一个函数,将一个字符串中的每个空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 2.思 ...

  7. 剑指offer 替换空格

    题目描述 请实现一个函数,将一个字符串中的空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. java  解 ...

  8. python剑指offer替换空格_《剑指Offer》字符串 替换空格

    //str.replace(char oldChar,char newChar);用字符newChar替换oldChar;返回一个新的字符串 public class Solution { publi ...

  9. 剑指Offer替换空格问题

    1.题目描述 请实现一个函数,将一个字符串中的每个空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 2.代 ...

  10. 【模拟遍历】剑指offer:替换空格

    请实现一个函数,将一个字符串s中的每个空格替换成"%20". 例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 定义res,遍历 ...

最新文章

  1. iOS开发者有价值的工具集
  2. OpenGL pointsprites点精灵的实例
  3. 测试点4错的来:1029 旧键盘 (20分)
  4. 使用Affinity Designer导出Android资产
  5. 关于使用Tomcat服务器出现413错误的解决办法(Request Entity Too Large)
  6. 思科接入层交换机故障
  7. 机器人学导论学习笔记No.1-第一章 :概述
  8. 单片机c语言编程乘法运算符,单片机C语言编程常用的运算符介绍
  9. 汉诺塔 java 递归_如何实现java汉诺塔递归算法
  10. 500报错及故障排除
  11. 关于Gstreamer出现“Could not send sticky events”的机制探究
  12. 我是这样在Google paly上赚美刀的
  13. leetcode oj java Bulls and Cows
  14. iPad Pro机身无故弯曲 Apple对此做出回应及应对
  15. 信号是受噪声Nt干扰的余弦波Xt = Acoswt + φ + Nt,试求它的自相关函数。假设φ是在[0, 2Π]上均匀分布的随机变量,Nt是均值为0方差为σ2的白噪声,且 Nt 与 φ 互不相关。
  16. 【hadoop】汽车销售数据统计分析项目(部分)
  17. pyecharts可视化展示之柱状图、饼图学习
  18. MSP-EXP430F5529LP_GPIO
  19. arm服务器安装docker及docker-compose
  20. 主成分有什么用?如何进行呢?

热门文章

  1. esp8266 SDK开发之编译流程
  2. 算法提高课-图论-单源最短路的建图方式-AcWing 920. 最优乘车:bfs求最短路、建图
  3. PAT甲级1113 Integer Set Partition:[C++题解]贪心
  4. cordova 不打开浏览器_[Cordova inAppBrowser 在App内打开浏览器]
  5. 4x4矩阵键盘工作原理及扫描程序_4X4矩形键盘
  6. c语言实现点在多边形内部,C语言中实现 点在多边形内 算法
  7. sim卡无线上网公用服务器,有人推出内置SIM卡GPRS模块!GM3S开启无线数传模块新时代!...
  8. C++中的二阶构造模式
  9. java db 10.4.13_Spring Data MongoDB 1.10.13和Mongo 3.4
  10. centos 安装java1.7_centOs安装jdk1.7