Swift-变位词判断

题目:如果两个单词的组成字母完全相同,只是字母的排列顺序不一样,则它们就是变位词,两个单词相同也被认为是变位词。如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>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容