gpt4 book ai didi

swift - 如何使用递归定义在 Swift 中检查回文

转载 作者:搜寻专家 更新时间:2023-10-30 22:25:14 25 4
gpt4 key购买 nike

我喜欢 Swift 中的许多功能,但使用操作字符串仍然是个大麻烦。

func checkPalindrome(word: String) -> Bool {
print(word)
if word == "" {
return true
} else {
if word.characters.first == word.characters.last {
return checkPalindrome(word.substringWithRange(word.startIndex.successor() ..< word.endIndex.predecessor()))
} else {
return false
}
}
}

只要字符串的长度是奇数,这段代码就会失败。当然我可以做到,所以 block 的第一行是 if word.characters.count < 2 ,但是 Swift 中有没有一种方法可以轻松获取子字符串并进行检查?

更新我喜欢很多建议,但我想最初的问题可能有点误导,因为这是一个关于 String 的问题,而不是获得函数的正确结果。

例如,在 Python 中,checkPalindrome(word[1:-1]) 可以很好地用于递归定义,而 Swift 代码则不那么优雅,因为它需要其他附加功能。

最佳答案

return word == String(word.reversed())

关于swift - 如何使用递归定义在 Swift 中检查回文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34489497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com