用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())
相关推荐
coooliang3 天前
【iOS】SwiftUI状态管理
ios·swiftui·swift
席子哥哥的代码库4 天前
自制简单的图片查看器(python)
开发语言·python·swift
打工人你好5 天前
Swift 的 KeyPath 是什么?
swift
struggle20255 天前
Ollmao (OH-luh-毛程序包及源码) 是一款原生 SwiftUI 应用程序,它与 Ollama 集成,可在 Mac 上本地运行强大的 AI 模型
ios·swiftui·swift
神仙别闹8 天前
基于Swift实现拼图游戏
开发语言·搜索引擎·swift
神仙别闹8 天前
基于Swift实现仿IOS闹钟
ios·cocoa·swift
ctf_022612 天前
echarts 3d中国地图飞行线
3d·echarts·swift
没头脑的ht13 天前
UITableView的复用原理
ios·swift
自不量力的A同学15 天前
苹果公司宣布正式开源 Xcode 引擎 Swift Build145
swift
SchneeDuan16 天前
iOS--SDWebImage源码解析
ios·缓存·swift·第三方库·sdwebimage