LeetCode 389. 找不同 Find the Difference

【题目描述】
给定两个字符串 s 和 t,它们只包含小写字母。
字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。
请找出在 t 中被添加的字母。

示例:
输入:
s = "abcd"
t = "abcde"

输出:
e
解释:
'e' 是那个被添加的字母。

【思路1】看看就行啦 ,哈哈哈

func findTheDifference(_ s: String, _ t: String) -> Character {
    var tmp = t
    for cha in s {
        let index = tmp.index(of: cha)!
        tmp.remove(at: index)
    }
    return tmp.last!
}

【思路2】
还是使用位运算,swift语法要熟练!

func findTheDifference(_ s: String, _ t: String) -> Character {
    var result : uint = 0
    for c in s.unicodeScalars {
        let tmp = c.value
        result ^= tmp
    }
    for cc in t.unicodeScalars {
        let tmp = cc.value
        result ^= tmp
    }
    return Character(UnicodeScalar(result)!)
}

你可能感兴趣的:(LeetCode 389. 找不同 Find the Difference)