1. 程式人生 > >Leetcode 389:找不同(最詳細的解法!!!)

Leetcode 389:找不同(最詳細的解法!!!)

給定兩個字串 st,它們只包含小寫字母。

字串 t 由字串 s 隨機重排,然後在隨機位置新增一個字母。

請找出在 t 中被新增的字母。

示例:

輸入:
s = "abcd"
t = "abcde"
輸出:
e
解釋:
'e' 是那個被新增的字母。

解題思路

使用Leetcode 268:缺失數字(最詳細的解法!!!)中的方法可以輕鬆破解。相同元素通過xor消除,最後剩下的就是被新增的元素。

class Solution:
    def findTheDifference(self, s, t):
        """
        :type s: str
        :type t: str
        :rtype: str
        """
result = 0 for ch in (s+t): result ^= ord(ch) return chr(result)

我將該問題的其他語言版本新增到了我的GitHub Leetcode

如有問題,希望大家指出!!!