swift Swift中anagram算法的例子
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift Swift中anagram算法的例子相关的知识,希望对你有一定的参考价值。
//Anagram - Two words that contain the same characters
let testWord = "abcde"
let testWord2 = "edcba"
func isAnagram(word word: String, isAnagramOf word2: String) -> Bool {
guard
let word1Dictionary = countChars(word),
let word2Dictionary = countChars(word2) else {
return false
}
for (k, v) in word1Dictionary {
guard v == word2Dictionary[k] else {
return false
}
}
return true
}
func countChars(word: String?) -> [Character: Int]? {
guard let word = word where word != "" else {
return nil
}
var dictionary = [Character: Int]()
for char in word.characters {
if let currentValue = dictionary[char] {
dictionary.updateValue(currentValue + 1, forKey: char)
} else {
dictionary[char] = 1
}
}
return dictionary
}
isAnagram(word: testWord1, isAnagramOf: testWord2)
以上是关于swift Swift中anagram算法的例子的主要内容,如果未能解决你的问题,请参考以下文章