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: e Explanation: 'e' is the letter that was added.
Subscribe to see which companies asked this question
最开始想都没想就用了set,结果肯定是不对的啊,因为集合会去重,要是有两个a,就变成一个a了
所以用字典,记录每个字母的个数
有一个小技巧,就是使用字典里面的get
还有就是检查的时候,使用try,这样就不用单独处理keyerror了
class Solution(object):
def findTheDifference(self, s, t):
dic_s = dict()
dic_t = dict()
for i in s:
dic_s[i] = dic_s.get(i,0) + 1
for i in t:
dic_t[i] = dic_t.get(i,0) + 1
for i in t:
#print i
try:
if dic_t[i] != dic_s[i]:
return i
except:
return i
"""
:type s: str
:type t: str
:rtype: str
"""