题目描述

请实现一个函数:

  • 将一个字符串中的每个空格替换成“%20”。

例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

理解

  • 如何对字符串进行替换操作
    先看看字符串中有哪些常用方法

    观察到s.replace(old,new)可以对字符串进行替换,所以自然想到了我们的解题思路1

解题思路

思路1

class Solution:# s 源字符串def replaceSpace(self, s):return s.replace(" ","%20")

思路2
如果不用方法呢?可以尝试遍历替换

方法1

class Solution:# s 源字符串def replaceSpace(self, s):s_new=""for i in s:if i==" ":i="%20"s_new+=ireturn s_new

方法2

class Solution:# s 源字符串def replaceSpace(self, s):s = list(s)for i in range(len(s)):if s[i]==" ":s[i]="%20"return "".join(s)

关于join的用法

思路3
如果不新建列表或者空字符串怎么解决呢?毕竟重新分配空间是一种浪费

剑指offer_第2题_替换空格相关推荐

  1. 剑指offer_第14题_链表中倒数第k个结点_Python

    题目描述 输入一个链表,输出该链表中倒数第k个结点. 理解 链表详解 python数据结构之链表 解题思路 思路1 确定链表种结点个数lenth 倒数第k个结点就是第length-k+1个结点 需要考 ...

  2. 剑指offer_第11题_二进制中1的个数

    题目描述 输入一个整数,输出该数二进制表示中1的个数. 其中负数用补码表示. 理解 整数怎么转换为二进制 >>> bin(25) '0b11001' >>> bin ...

  3. 剑指offer_第7题_斐波那契数列

    题目描述 现在要求输入一个整数n 输出斐波那契数列的第n项(从0开始,第0项为0). n<=39 理解 斐波那契数列 因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子 ...

  4. 剑指offer_第20题_包含min函数的栈_Python

    题目描述 定义栈的数据结构 并在该类型中实现一个能够得到栈中所含最小元素的min函数.时间复杂度应为O(1) 理解 什么是栈 算法复杂度 解题思路 思路1 class Solution:def __i ...

  5. 剑指offer_第19题_顺时针打印矩阵_Python

    题目描述 输入一个矩阵 按照从外向里以顺时针的顺序依次打印出每一个数字 例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数 ...

  6. 剑指offer_第18题_二叉树的镜像_Python

    题目描述 将给定的二叉树,变换为其镜像 解题思路 思路1 递归 class Solution:# 返回镜像树的根节点def Mirror(self, root):if root:root.left,r ...

  7. 剑指offer_第17题_树的子结构_Python

    题目描述 输入两棵二叉树A,B 判断B是不是A的子结构. 其中空树不是任意一个树的子结构 class TreeNode:def __init__(self, x):self.val = xself.l ...

  8. 剑指offer_第16题_合并两个排序的链表_Python

    题目描述 输入两个单调递增的链表 输出两个链表合成后的链表 合成后的链表满足单调不减规则 解题思路 思路1 递归 def Merge(self, pHead1, pHead2):merge = Non ...

  9. 剑指offer_第15题_反转链表_Python

    题目描述 输入一个链表,反转链表后,输出新链表的表头. 理解 怎么反转? 我要找到每个结点 改变每个结点的next 参考阅读: 链表翻转的图文讲解(递归与迭代两种实现) 翻转链表的三种方法 解题思路 ...

最新文章

  1. 写了一个测试正则表达式的小工具
  2. jQuery的Prettydate插件
  3. Window10+Python3.5安装opencv
  4. postman发送json格式的post请求(亲测)
  5. CSS 锦囊[收藏]
  6. 剑指 Offer 34. 二叉树中和为某一值的路径【附完整可运行代码】
  7. java调用python库pyd_Java调用Python的两种方式
  8. oracle添加伪列,Oracle伪列 - jifengtang的个人空间 - OSCHINA - 中文开源技术交流社区...
  9. 记一次git硬reset导致的代码消失
  10. 使用了无效的sql语句_使用SQL语句创建数据库
  11. Welcome To SWPUNC-ACM
  12. iphone7p配置参数详情_苹果苹果7p配置参数表
  13. 最近智商拙计,做做题补一下
  14. java 打压缩包_java将文件打成zip包
  15. 被知网侵权长达13年!小说作家:一周前才知道
  16. Ice飞冰注意问题和可视化组件《三》
  17. C语言中fscanf()函数的用法介绍
  18. 你不知道的微信小程序-李宁-专题视频课程
  19. 阿里云开发者大会正式启动
  20. 【mysql】mysql单位

热门文章

  1. jQuery(一)引入
  2. 【青少年编程】【蓝桥杯】排队购票
  3. 数据结构与算法:01 绪论
  4. FloodFill 图像分割
  5. 【Codeforces】659B Qualifying Contest (sort)
  6. 【ACM】杭电OJ 1096
  7. 7 款可替代 top 命令的工具!(二)
  8. 9个必知的 Python 操作文件/文件夹方法
  9. 打造一流创新环境:协作、开放、可持续
  10. A股暴跌,户均亏2万!刚写好的辞职信又撕了……