如何在Swift中检查字符串是否对称
返回值==字符串(value.reversed())如何在Swift中检查字符串是否对称,swift,string,symmetric,Swift,String,Symmetric,返回值==字符串(value.reversed()) 这就是我试过的。它工作得很好,但需要更长的时间。有人知道更好的方法吗?标准库中没有适用于String或其他任何内容的方法,因此仅针对String的解决方案可能不是最好的选择 您不需要基于反向创建任何新实例元素sequal执行此任务 公共扩展序列,其中元素:equalable{ var是对称的:Bool{elementsEqual(reversed())} } “标准库中没有可用于字符串或其他任何内容的内容,因此仅用于字符串的解决方案可能不是
这就是我试过的。它工作得很好,但需要更长的时间。有人知道更好的方法吗?标准库中没有适用于
String
或其他任何内容的方法,因此仅针对String
的解决方案可能不是最好的选择
您不需要基于反向创建任何新实例<代码>元素sequal
执行此任务
公共扩展序列,其中元素:equalable{
var是对称的:Bool{elementsEqual(reversed())}
}
“标准库中没有可用于字符串
或其他任何内容的内容,因此仅用于字符串
的解决方案可能不是最佳选择
您不需要基于反向
;元素sequal
来创建任何新实例
公共扩展序列,其中元素:equalable{
var是对称的:Bool{elementsEqual(reversed())}
}
你可以在C中逐一测试每个字符一个,直到你的两个索引在中间相遇。但是对于Swift,您不能保证字符在Swift字符串中的长度相同,它们必须存储由unicode字符组成的字符串,而unicode字符目前可以包含100000个字符中的一个,我认为它们目前通过使用UTF16编写字符串的故事来实现这一点。因此,您不能仅仅使用偏移量逻辑来快速计算字符的索引,您必须枚举每个字符,检查每个字符的长度以进入下一个字符。Objto-C使NSCOPE的私有子类的潜力更加复杂,每个都可以有不同的编码方法。 ,您可以在C中逐个测试每个字符,从一个开始到另一个结束,直到两个索引在中间相遇。但是对于Swift,您不能保证字符在Swift字符串中的长度相同,它们必须存储由unicode字符组成的字符串,而unicode字符目前可以包含100000个字符中的一个,我认为它们目前通过使用UTF16编写字符串的故事来实现这一点。因此,您不能仅仅使用偏移量逻辑来快速计算字符的索引,您必须枚举每个字符,检查每个字符的长度以进入下一个字符。Objective-C使得这一点更加复杂,因为NSString的私有子类可能具有不同的编码方法。
这是一个标准(且简单)的算法问题,用于检查字符串是否为回文。这里有很多资源,包括这个:这是一个标准的(简单的)算法问题,用于检查字符串是否是回文。有很多资源,包括这一个: