判断一个字符串是否是回文
来源:互联网 发布:广西网络电视台 编辑:程序博客网 时间:2024/06/05 14:19
问题:如何判断一个字符串儿是否是回文?
所谓的字符串儿回文,就是无论是正序读还是反序读,它都是一毛一样的,比如说字符串儿“rotator”,无论是从左往右读,还是从右往左读,它都是同一个字符串儿。
思路:因为回文是正着读和反着读是一样的,所以我们马上就想到了reversed()函数。而这个函数的返回值是一个数组,因此最后肯定会用到数组的比较。好在数组属于集合,是值类型,比较起来就容易多了:
func challenge(input: String) -> Bool { return input.characters.reversed() == Array(input.characters)}challenge(input: "rotator") // 应该返回truechallenge(input: "Hello, world") // 应该返回falsechallenge(input: "Rotator") // 应该返回true
上面的代码看起来是符合题目的要求了,但是实际上它还有一个bug,因为字母是分大小写的。如果将本来符合题目要求的字符串儿换成大小写混合的形式,那么它的结果就不符合题目要求:
解决这个bug也非常的容易,就是在比较上面这两个数组之前,先将输入的字符串儿统一转换成大写或者小写:
func challenge1(input: String) -> Bool { // 先将输入的字符串儿转换成大写或者小写 let lowercase = input.lowercased() return lowercase.characters.reversed() == Array(lowercase.characters)}challenge1(input: "rotator")challenge1(input: "Hellow, world")challenge1(input: "Rotator")
转换完成之后就不会有问题了。
阅读全文
0 0
- 队列-----判断一个字符串是否是回文
- 判断一个字符串是否是“回文”数字
- 判断一个字符串是否是回文。
- 判断一个字符串是否是回文
- java判断一个字符串是否是回文
- 编程判断字符串是否为回文 判断一个字符串是否是回文,例如单词‘level’
- 设计一个算法判断一个字符串是否是回文
- 判断字符串是否是回文
- 判断字符串是否是回文
- 判断字符串是否是回文
- 编写函数,判断一个字符串是否是回文
- 编写函数,判断一个字符串是否是回文
- Valid Palindrome 判断一个字符串是否是回文串
- C实例--判断一个字符串是否是回文数
- 判断一个字符串是否回文
- 判断一个字符串是否回文?
- 判断一个字符串是否回文
- 判断一个字符串是否回文
- Swift中协议的基础知识
- Swift命名规范
- Swift编码风格
- 来搞一搞UserNotifications本地通知
- 判断字符串中的字符是否具有唯一性
- 判断一个字符串是否是回文
- 判断两个字符串是否包含相同的字符
- 判断一个字符串中是否包含另一个字符串
- 计算特定字符在字符串中出现的次数
- 从一个字符串儿中移除重复的字符
- 如何删除字符串中多余的空格
- 判断一个字符串中是否包含全部26个字母
- 计算一个字符串中元音和辅音出现的次数
- 字符串的应用举例