面试题 01.03. URL化
编写一种方法,将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。(注:用Java实现的话,请使用字符数组实现,以便直接在数组上操作。)
go strings包的Replace 方法解题:
func replaceSpaces(S string, length int) string {
return strings.Replace(S[:length], " ", "%20", -1)
}
普通解法:
func replaceSpaces(S string, length int) string {
var ss []byte
i := 0
for i < length {
if S[i] == ' ' {
//ss = append(ss, '%', '2', '0')
ss = append(ss, '%')
ss = append(ss, '2')
ss = append(ss, '0')
} else {
ss = append(ss, S[i])
}
i++
}
return string(ss)
}