Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Swift中检查字符串是否对称_Swift_String_Symmetric - Fatal编程技术网

如何在Swift中检查字符串是否对称

如何在Swift中检查字符串是否对称,swift,string,symmetric,Swift,String,Symmetric,返回值==字符串(value.reversed()) 这就是我试过的。它工作得很好,但需要更长的时间。有人知道更好的方法吗?标准库中没有适用于String或其他任何内容的方法,因此仅针对String的解决方案可能不是最好的选择 您不需要基于反向创建任何新实例元素sequal执行此任务 公共扩展序列,其中元素:equalable{ var是对称的:Bool{elementsEqual(reversed())} } “标准库中没有可用于字符串或其他任何内容的内容,因此仅用于字符串的解决方案可能不是

返回值==字符串(value.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的私有子类可能具有不同的编码方法。

这是一个标准(且简单)的算法问题,用于检查字符串是否为回文。这里有很多资源,包括这个:这是一个标准的(简单的)算法问题,用于检查字符串是否是回文。有很多资源,包括这一个: