**問題描述**
請編寫一個方法,將字符串中的空格全部替換為“%20”。 假定該字符串有足夠的空間存放新增的字符,并且知道字符串的真實長度(小于等于 1000),同時保證字符串由【大小寫的英文字母組成】。 給定一個 string 為原始的串,返回替換后的 string。
**解題思路**
兩個問題,第一個是只能是英文字母,第二個是替換空格。
**源碼參考**
~~~
func replaceBlank(s string) (string, bool) {
if len([]rune(s)) > 1000 {
return s, false
}
for _, v := range s {
if string(v) != " " && unicode.IsLetter(v) == false {
return s, false
}
}
return strings.Replace(s, " ", "%20", -1), true
}
~~~
**源碼解析**
這里使用了 golang 內置方法`unicode.IsLetter`判斷字符是否是字母,之后使用`strings.Replace`來替換空格。
- Golnag常見面試題目解析
- 交替打印數組和字母
- 判斷字符串中字符是否全都不同
- 翻轉字符串
- 判斷兩個給定的字符串排序后是否一致
- 字符串替換問題
- 機器人坐標計算
- 語法題目一
- 語法題目二
- goroutine和channel使用一
- 實現阻塞讀的并發安全Map
- 定時與 panic 恢復
- 高并發下的鎖與map讀寫問題
- 為 sync.WaitGroup 中Wait函數支持 WaitTimeout 功能.
- 七道語法找錯題目
- golang 并發題目測試
- 記一道字節跳動的算法面試題
- 多協程查詢切片問題
- 對已經關閉的的chan進行讀寫,會怎么樣?為什么?
- 簡單聊聊內存逃逸?
- 字符串轉成byte數組,會發生內存拷貝嗎?
- http包的內存泄漏