作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在这个问题中,我们只考虑小写英文字母 (a-z) 的字符串。
如果字符串从左到右遍历与从右到左遍历时具有完全相同的字符序列,则该字符串是回文。例如,以下字符串是回文:
“皮划艇”
“codilitytilidoc”
“永无止境”
如果字符串 A 由完全相同的字符组成,但可能顺序不同,则它是字符串 B 的变位词。例如,以下字符串是彼此的变位词:
A="mary"B="army"A="rocketboys"B="octobersky"A="codility"B="codility"
写一个函数
int isAnagramOfPalindrome(String S);
如果字符串 s 是某个回文的变位词,则返回 1,否则返回 0。
例如,您的函数应该为参数“dooernedeevrvn”返回 1,因为它是回文“neveroddoreven”的变位词。对于参数“aabcba”,您的函数应返回 0。
最佳答案
“算法”这个词对它来说太大了。
如果每个字符在给定的字符集中出现偶数次(可能有一个字符除外),则可以从给定的字符集中构造回文。
对于任何其他集合,您可以轻松证明不存在回文。
这两种情况的证明都很简单,但如果不清楚请告诉我。
关于algorithm - 查找字谜是否属于回文的最佳算法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4628386/
我是一名优秀的程序员,十分优秀!