Find the Difference
思路:创建两个map 统计每个字符串出现的次数,如果一个字符串不包含另一个的字符串,返回字符,或者,两个字符出现的字数不相同,返回字符。
public static void main(String[] args) {
String s = "abcd";
String t = "abcde";
char theDifference = findTheDifference(s, t);
System.out.println(theDifference);
}
public static char findTheDifference(String s, String t) {
Map<Character, Integer> characterIntegerMap = changeCanConstructChangeMap(s);
Map<Character, Integer> characterIntegerMap2 = changeCanConstructChangeMap(t);
for(int i=0;i<t.length();i++){
char c = t.charAt(i);
if(!characterIntegerMap.containsKey(c)){
return c;
}else{
if(!characterIntegerMap.get(c).equals(characterIntegerMap2.get(c))){
return c;
}
}
}
return 'a';
}
public static Map<Character,Integer> changeCanConstructChangeMap(String ransomNote){
Map<Character,Integer> map=new HashMap<>();
for(int i=0;i<ransomNote.length();i++){
char c = ransomNote.charAt(i);
if(map.containsKey(c)){
map.put(c,map.get(c)+1);
}else{
map.put(c,1);
}
}
return map;
}