leetcode Find the Difference

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;
	}

猜你喜欢

转载自blog.csdn.net/u011243684/article/details/85081456