用Swift实现验证回文字符串

如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串

字母和数字都属于字母数字字符。

给你一个字符串 s,如果它是 回文串 ,返回 true;否则,返回false

我们可以看到,题目只关注字母,所以我们要过滤掉标点符号,空格等其他元素。swift中有一个过滤器filter()我们可以利用filter来过滤掉不需要的东西,返回需要的元素。因此

Swift 复制代码
var ss = s.filter {$0.isLetter || $0.isNumber}.lowercased()

$0代表s中的每个元素,isLetter判断是否为字母,isNumber判断是否为数字,我们将字母和数字的都返回。最后lowercased是将所有的字母转化为小写字母。所以返回的就是一个过滤的只剩下字母和数字的字符串了。

最后我们将原字符串与反转后的字符串比较就可以了,反转字符串可以通过reveresed函数,如下所示

Swift 复制代码
return ss == String(ss.reversed())
相关推荐
core5123 天前
使用 `ms-swift` 微调 Qwen3-VL-2B 详细指南
lora·微调·swift·qwen·qwen3·vl
core5123 天前
Swift SFT Qwen-VL LoRA 微调指令详解
lora·微调·swift·qwen·vl
Swift社区4 天前
LeetCode 375 - 猜数字大小 II
算法·leetcode·swift
Swift社区5 天前
使用 MetricKit 监控应用性能
ios·swiftui·swift
Swift社区5 天前
LeetCode 374 猜数字大小 - Swift 题解
算法·leetcode·swift
七牛云行业应用5 天前
iOS 19.3 突发崩溃!Gemini 3 导致 JSON 解析失败的紧急修复
人工智能·ios·swift·json解析·大模型应用
初级代码游戏5 天前
iOS开发 SwiftUI 6 :List
ios·swiftui·swift
特别橙的橙汁6 天前
Node.js 调用可执行文件时的 stdout 缓冲区问题
前端·node.js·swift
牛马1116 天前
iOS swift 自定义View
ios·cocoa·swift
牛马1116 天前
ios swift处理json数据
ios·json·swift