美文网首页算法每日一刷
LeetCode-125. 验证回文串(Swift)

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

作者: entre_los_dos | 来源:发表于2019-07-21 22:26 被阅读0次

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/valid-palindrome
    难度:简单

    题目

    给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。

    说明:本题中,我们将空字符串定义为有效的回文串。

    示例 1:

    输入: "A man, a plan, a canal: Panama"
    输出: true
    

    示例 2:

    输入: "race a car"
    输出: false
    

    正读和反读都相同的字符序列为“回文”,如“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
        }
    }
    

    相关文章

      网友评论

        本文标题:LeetCode-125. 验证回文串(Swift)

        本文链接:https://www.haomeiwen.com/subject/jaavlctx.html