LC 验证回文串
- Swift
func isPalindrome(_ s: String) -> Bool {
// 字母转小写
let str = s.lowercased()
// 去除标点等特殊字符,只留字母
let pattern = "[a-z]"
let regex = try! NSRegularExpression(pattern: pattern, options: [])
let results = regex.matches(in: str, options: [], range: NSMakeRange(0, str.count))
// 转成数组
var array: [String] = []
for res in results {
let str = (str as NSString).substring(with: res.range)
array.append(str)
}
// 判断
var i = 0
var j = array.count - 1
while j - i >= 0 {
if array[i] != array[j] {
return false
}
i += 1
j -= 1
}
return true
}