# 389.find-the-difference

## Statement

• Difficulty: Easy
• Tag: `位运算` `哈希表` `字符串` `排序`

``````输入：s = "abcd", t = "abcde"

``````

``````输入：s = "", t = "y"

``````

• `0 <= s.length <= 1000`
• `t.length == s.length + 1`
• `s``t` 只包含小写字母

• Difficulty: Easy
• Tag: `Bit Manipulation` `Hash Table` `String` `Sorting`

You are given two strings `s` and `t`.

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

Return the letter that was added to `t`.

Example 1:

``````Input: s = "abcd", t = "abcde"
Output: "e"
Explanation: 'e' is the letter that was added.
``````

Example 2:

``````Input: s = "", t = "y"
Output: "y"
``````

Constraints:

• `0 <= s.length <= 1000`
• `t.length == s.length + 1`
• `s` and `t` consist of lowercase English letters.

## Solution

``````from collections import Counter

class Solution:
def findTheDifference(self, s: str, t: str) -> str:
sd = Counter(s)
st = Counter(t)
for k, v in st.items():
try:
if v == sd[k] + 1:
return k
except KeyError:
return k
``````