首页 > 学院 > 开发设计 > 正文

Find the Difference

2019-11-08 20:17:04
字体:
来源:转载
供稿:网友
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]
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表