预告:常规解法,没有新奇思路,但发现了一个小小问题
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
输入:s = "We are happy."
输出:"We%20are%20happy."
1.第一个想到的就是String的方法replacingOccurrences
如果是这样做就太没意思了。
class Solution {
func replaceSpace(_ s: String) -> String {
return s.replacingOccurrences(of: " ", with: "%20")
}
}
2. 第二个想到的就是遍历、替换
最开始这样写的
class Solution {
func replaceSpace(_ s: String) -> String {
var tmpS = ""
for char in s {
var tmpChar = String(char)
if char == " "{
tmpChar = "%20"
}
tmpS = tmpS + tmpChar
}
return tmpS
}
}
临时变量tmpChar有点多余,完全没有必要存在
class Solution {
func replaceSpace(_ s: String) -> String {
var tmpS = ""
for char in s {
tmpS = tmpS + (char.isWhitespace ? "%20" : String(char))
}
return tmpS
}
}
3.发现一个有意思的事
leetcode判断时间和内存会存在一点点误差,时间大概在8ms左右,内存大概在0.4M左右。

所以呢,不要执迷于几毫秒的差别,可能就是你提交的那会儿刚好就差8ms😂
4.再看下耗时最少的提交
😂这也行,是不是心里好受多了
