Swift: palindrom测试数组是否是回文

这个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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值