找不同
概述:给定两个字符串 s 和 t ,它们只包含小写字母。字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。
输入:s = "abcd", t = "abcde"
输出:"e"
输入:s = "", t = "y"
输出:"y"
方法一:Counter() 方法
思路:直接用 Counter() 方法统计出现次数,然后相减返回第一个即可。
# Counter() 方法
# 直接用 Counter() 方法统计出现次数,然后相减返回第一个即可。
class Solution:
def findTheDifference(self, s: str, t: str) -> str:
return list(Counter(t) - Counter(s))[0]
方法二:异或
思路:借助 ASCII 码进行映射相减,返回多余的即可。
# 异或
# 借助ASCII码进行映射相减,返回多余的即可。
class Solution:
def findTheDifference(self, s: str, t: str) -> str:
return chr(sum(map(ord, t)) - sum(map(ord,s)))
总结
上来就无脑sort!