给定两个字符串 s 和 t,它们只包含小写字母。
字符串 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
如有问题,希望大家指出!!!