原题链接
解题思路
简单题。直接用hashmap去记录第一个字符串的字母及频率,再遍历第二个字符串找出答案。
解题代码
public class Solution {
public char findTheDifference(String s, String t) {
char[] ss = s.toCharArray();
char[] tt = t.toCharArray();
char res = 'a';
HashMap<Character,Integer> map = new HashMap<>();
for(int i = 0;i < ss.length;i++) {
if (map.containsKey(ss[i])) {
map.replace(ss[i],map.get(ss[i]) + 1);
} else {
map.put(ss[i],1);
}
}
for(int i = 0;i < tt.length;i++) {
if(map.containsKey(tt[i])) {
if(map.get(tt[i]) >= 1) {
map.replace(tt[i],map.get(tt[i]) - 1);
} else {
res = tt[i];
break;
}
} else {
res = tt[i];
break;
}
}
return res;
}
}