这个function是测试某一个单词是否是回文
回文: 把相同的词汇或句子,在下文中调换位置或颠倒过来,比如 racecar, 它反过来还是 racecar, 比如 madam, 反过来也还是madam
下面是代码
func palindrom(word: String) -> Bool {
var array: [Character] = []
for i in word {
if array.contains(i) {
array.removeAll { (arr) -> Bool in
arr == i
}
} else {
array.append(i)
}
}
return array.count <= 1
}
我们先建一个array,它的类型是character,会比较方便一会增加字母或是删除单词,这个function的逻辑就是,如果这个string第一次出现,便把里的字母添加要array里,如果已经contain这个字母,就从array里去掉它。确定回文的规则就是里的字母只出现双数的次数或者只出现一次,比如 racecar,里面所有字母都出现过两次,除了中间的e。所有最终的return就是判定这个array里是否有超过一个字母,如果没有,return true