LeetCode-125.|LeetCode-125. 验证回文串(Swift)

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/valid-palindrome
难度:简单
题目
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
说明:本题中,我们将空字符串定义为有效的回文串。
示例 1:
输入: "A man, a plan, a canal: Panama" 输出: true

示例 2:
输入: "race a car" 输出: false

【LeetCode-125.|LeetCode-125. 验证回文串(Swift)】正读和反读都相同的字符序列为“回文”,如“abba”、“abcba”是“回文”。"abc"这种不是。也可以说是字符串反转后和原字符串是一样的。
本题忽略字母大小写,且只考虑字母和数字字符
方法-把非字母和数字的去掉生成新字符串,全转小写后,反转。和原字符串全转小写后比对
class Solution {func isPalindrome(_ s: String) -> Bool {var result = false var newS = ""for charcter in s { if isUsefulCharacter(charcter) { newS.append(charcter) } } if String(newS.lowercased().reversed()) == newS.lowercased() { result = true } return result } func isUsefulCharacter(_ s:Character) -> Bool {var result = false if (s <= "z" && s >= "a") || (s <= "Z" && s >= "A") || (s >= "0" && s <= "9") { result = true } return result } }

    推荐阅读