1. 问题描述
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
示例 1:
输入:s = “We are happy.”
输出:“We%20are%20happy.”
2. 思路
2.1. 思路1
线性遍历字符串,使用string类型数组
2.2. 思路2
线性遍历字符串,使用byte类型数组
3. 代码
3.1. 思路1代码
func replaceSpace(s string) string {
var res string
var str string
strArray := []string{}
for i := 0; i < len(s); i++ {
if s[i] != ' ' {
str = str + string(s[i])
if i == len(s) - 1 {
strArray = append(strArray,str)
}
} else {
strArray = append(strArray,str,"%20")
str = ""
}
}
for j := 0; j < len(strArray); j++ {
res += strArray[j]
}
return res
}
3.2. 思路2代码
func replaceSpace(s string) string {
chArray := []byte{}
for i := 0; i < len(s); i++ {
if s[i] != ' ' {
chArray = append(chArray,s[i])
} else {
chArray = append(chArray,'%','2','0')
}
}
return string(chArray)
}