当前位置: 首页 > article >正文

用Swift实现验证回文字符串

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

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

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

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

var ss = s.filter {$0.isLetter || $0.isNumber}.lowercased()

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

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

return ss == String(ss.reversed())


http://www.kler.cn/a/318097.html

相关文章:

  • HP G10服务器ESXI6.7告警提示ramdisk tmp已满
  • 【ACM出版】第四届信号处理与通信技术国际学术会议(SPCT 2024)
  • Bugku CTF_Web——文件上传
  • Linux 函数在多个地方被同时调用时,函数中的变量如何管理,确保互不影响
  • 结构体是否包含特定类型的成员变量
  • DevOps工程技术价值流:加速业务价值流的落地实践与深度赋能
  • 空栈压数 - 华为OD统一考试(E卷)
  • 一.python入门
  • Spring Boot框架在心理教育辅导系统中的应用
  • HTTP协议详解
  • javascript:检查JavaScript对象属性是否存在
  • kubernets部署prometheus监控
  • MySQL:用户管理
  • VSCode使用Clangd
  • 《程序猿之设计模式实战 · 适配器模式》
  • 云计算和虚拟化技术 背诵
  • Django一分钟:DRF快速实现JWT认证与RBAC权限校验
  • 网络层协议——IP
  • 从入门到精通:QT 100个关键技术关键词
  • node.js 版本管理
  • Vue轮询请求接口
  • 语音合成(自然、非自然)
  • Maven中依赖配置
  • WRFDA保姆级安装教程
  • 聊一下cookie,session,token的区别
  • linux-下载、安装、更新和管理软件包