给定两个字符串 s
和 t
,它们只包含小写字母。
字符串 t
由字符串 s
随机重排,然后在随机位置添加一个字母。
请找出在 t
中被添加的字母。
示例 1:
输入:s = "abcd", t = "abcde" 输出:"e" 解释:'e' 是那个被添加的字母。
示例 2:
输入:s = "", t = "y" 输出:"y"
提示:
0 <= s.length <= 1000
t.length == s.length + 1
s
和t
只包含小写字母
class Solution {
public char findTheDifference(String s, String t) {
char[] charS = s.toCharArray();
char[] charT = t.toCharArray();
Map<Character, Integer> mapS = new HashMap();
Map<Character, Integer> mapT = new HashMap();
for (char resultS : charS) {
int countS = mapS.containsKey(resultS) ? mapS.get(resultS) : 1;
mapS.put(resultS, countS + 1);
}
for (char resultT : charT) {
int countT = mapT.containsKey(resultT) ? mapT.get(resultT) : 1;
mapT.put(resultT, countT + 1);
if (!s.contains(String.valueOf(resultT)) || countT + 1 > mapS.get(resultT)) {
return resultT;
}
}
return charT[0];
}
}