標籤:gen pre class let log 轉換 self return sel
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.
本題的解法很類似single number,由於兩個str只有一個字母不同。所以可以用xor。注意使用ord 和 chr 對於char和int之間進行轉換。
1 class Solution(object): 2 def findTheDifference(self, s, t): 3 """ 4 :type s: str 5 :type t: str 6 :rtype: str 7 """ 8 ans = 0 9 for x in s:10 ans ^= ord(x)11 for y in t:12 ans ^= ord(y)13 return chr(ans)
解法二是使用collections.Counter
1 class Solution(object): 2 def findTheDifference(self, s, t): 3 """ 4 :type s: str 5 :type t: str 6 :rtype: str 7 """ 8 ds = collections.Counter(s) 9 dt = collections.Counter(t)10 return (dt - ds).keys().pop()
Leetcode 389 Find the difference