前言
该系列文章为本人刷leetcode的记录,主要旨在分享刷题的思路及算法解析(尽可能的一题多解),另方便自己日后查阅回顾。代码的实现语言是python和go。
进厂免不了刷题,一起加油吧,小伙伴们!
(最近几个月一直在忙小论文的仿真和撰写;最近总算写完初稿了交给老师了。至于能中几区就看运气了哈哈)
题目
offer 第5题
链接: https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof/
题目内容
替换空格
请实现一个函数,把字符串 s 中的每个空格替换成"%20"
示例 1:
输入:s = "We are happy."
输出:"We%20are%20happy."
限制:
0 <= s 的长度 <= 10000
解题思路
分析: 该题就是常规的字符串替换
容易想到的思路:
1.直接调用库函数replace对字符串s中的空格进行替换
2.暴力解法:循环遍历每个字符判断为空格的直接进行替换
3:字符串直接以空格为界限转切片,再加上“%20”进行拼接(split(), Join()函数)
代码实现
python
def replaceSpace(self, s: str) -> str:
s_new = s.replace(' ',"%20")
return s_new
go
func replaceSpace(s string) string{
s_slice := []byte{}
for i:=0; i <len(s); i++{
if s[i] == ' '{
s_slice = append(s_slice,'%','2','0')
}else{s_slice = append(s_slice,s[i])}
}
s_new := string(s_slice)
return s_new
总结
注意在go中[]byte转string使用string([]byte). 反过来string转[]byte使用[]byte(string).
|