博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
剑指Offer 05 替换空格
阅读量:6707 次
发布时间:2019-06-25

本文共 900 字,大约阅读时间需要 3 分钟。

请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

1 # -*- coding:utf-8 -*- 2 class Solution: 3     # s 源字符串 4     def replaceSpace(self, s): 5         n = len(s) 6         whitespace = 0 7         for ss in s: 8             if ss ==' ': 9                 whitespace += 110         ary = [' '] * (n + whitespace * 2)11         idx = n + whitespace * 2 - 112         for i in range(n-1,-1,-1):13             if s[i] == ' ':14                 ary[idx] = '0'15                 idx -= 116                 ary[idx] = '2'17                 idx -= 118                 ary[idx] = '%'19                 idx -= 120             else:21                 ary[idx] = s[i]22                 idx -= 123         s = ''24         s = ''.join(ary)25         return s26         # write code here

先计算出扩展后的字符串的长度然后,从后向前遍历,遇到空格,逆序依次插入对应的三个字符。

转载于:https://www.cnblogs.com/asenyang/p/11013015.html

你可能感兴趣的文章
WEB网站前端性能分析相关
查看>>
sql server2008系统表详细说明sys.开头的表
查看>>
Python基础(9)--正则表达式
查看>>
解决Installation error: INSTALL_FAILED_VERSION_DOWNGRADE错误
查看>>
os 计算机的启动
查看>>
C++Vector使用方法
查看>>
字符串逆序输出
查看>>
[LeetCode] Length of Last Word 求末尾单词的长度
查看>>
[PHP100]留言板(一)
查看>>
boost::asio实现一个echo服务器
查看>>
标准差(standard deviation)和标准误差(standard error)你能解释清楚吗?
查看>>
Javascript 学习 笔记一
查看>>
写给自己看的小设计3 - 对象设计通用原则之核心原则
查看>>
Android学习笔记(四十):Preference的使用
查看>>
postgresql 修改字段名称
查看>>
c语言中的位移位操作
查看>>
atitit.为什么 java开发要比php开发速度慢??
查看>>
Visual Studio 2010 将网站直接发布到远程站点
查看>>
BZOJ 1396&&2865 识别子串[后缀自动机 线段树]
查看>>
Android Framework 记录之一
查看>>