題目:如果兩個單詞的組成字母完全相同,只是字母的排列順序不一樣,則它們就是變位詞,兩個單詞相同也被認(rèn)為是變位詞。如tea 與eat , nic 與cin, ddc與dcd, abc與abc.
核心代碼:
<pre><code>`
func isAnagram(first:String,next:String) -> Bool {
if first == next {
return true
}
var dict:[String:Int] = [:]
for i in 0..<first.characters.count {
let char:String = first[i]
if dict[char] != nil {
let count:Int = dict[char]!
dict[char] = count + 1
} else {
dict[char] = 1
}
}
for i in 0..<next.characters.count {
let char:String = next[i]
if dict[char] != nil {
let count:Int = dict[char]!
dict[char] = count - 1
}
}
var result:Bool = true
for (_,value) in dict {
if value != 0 {
result = false
}
}
return result
}`</code></pre>
測試代碼:
<pre><code>`
var isAnagram:Bool = hashSearch.isAnagram(first: "abca", next: "baccccc")
print("FlyElephant-是否是變位詞---(isAnagram)")`</code></pre>