剑指offer---2--替换空格

添加要改颜色的字体

添加要改颜色的字体

添加要改颜色的字体

添加要改颜色的字体

题目描述

请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M 热度指数:1393573
牛客网练习链接

1、思考:如何检查到空格,将字符串的每个字符逐个和空格比较;替换,即重新赋值。

class Solution:
		def replace(self,s):
			for i in range(len(s)-1):
					if s[i] == ":
						s[i] = %20"
			print(s)

N = Solution()
N.replace(['we are happy'])

没有返回值?

2、思路:
核心思想:遍历字符串,找到空格后替换。
具体实施:

  1. l新建个list,res 用于存放替换后的结果,最后转为字符串
  2. 遍历字符串,找到空格后替换;
  3. 替换:当前字符c是空格,将%20加到res后;当前字符c不是空格,将c加到res。

注解:
因为Python,java中,字符串是不可变数据类型,因此原字符串不能更改,需要新建个字符串存储。(确切的说是新建个list用于存储,当替换完后,在转为string。)

class Solution:
	def replacespace(self,s):
		res = []
		for c in s:
			if c == ":
				res.append('%20')
			else: res.append(c)
		return ''.join(res)
N = Solution()	
N.replacespace(['we are lucky'])

返回we are lucky. ???
1)N.replacespace(’’)没有方括号,是字符串
2) 很重要。Python空格表示:
‘ '不是‘’,引号中间有空格。

知识点
1、字符串for c in s 和 for i in range(len(s))区别

扫描二维码关注公众号,回复: 11129319 查看本文章

2、列表后添加元素:
list.append()
3、列表转字符串:’’.join(list)得到string。

发布了71 篇原创文章 · 获赞 7 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_42025376/article/details/104858640