Find the Difference

来源:互联网 发布:星际公民 知乎 编辑:程序博客网 时间:2024/05/18 01:51
Given two strings s and t which consist of only lowercase letters.

String t is generated by random shuffling string s and then add one more letter at a random position.

Find the letter that was added in t.

Example:

Input:s = "abcd"t = "abcde"Output:eExplanation:'e' is the letter that was added.
1-liners and 2-liner in Python
Using XOR:class Solution(object):    def findTheDifference(self, s, t):        return chr(reduce(operator.xor, map(ord, s + t)))Using collections.Counter():class Solution(object):    def findTheDifference(self, s, t):        return list((collections.Counter(t) - collections.Counter(s)))[0]A 2-liner here using sorted():class Solution(object):    def findTheDifference(self, s, t):        s, t = sorted(s), sorted(t)        return t[-1] if s == t[:-1] else [x[1] for x in zip(s, t) if x[0] != x[1]][0]

0 0
原创粉丝点击