237. Valid Anagram #
题目 #
给定两个字符串 s
和 t
,编写一个函数来判断 t
是否是 s
的字母异位词。
若 s
和 t
中每个字符出现的次数都相同,则称 s
和 t
互为字母异位词。
思路 #
代码 #
public Solution {
public boolean isAnagram(String s, String t) {
if (s.length() != t.length()) return false;
Map<Character, Integer> sMap = new HashMap<>();
Map<Character, Integer> tMap = new HashMap<>();
for (int i=0; i<s.length(); i++) {
char ch = s.charAt(i);
int times = sMap.containsKey(ch) == false ? 0 : sMap.get(ch);
sMap.put(ch, times + 1);
}
for (int i=0; i<t.length(); i++) {
char ch = t.charAt(i);
if (sMap.containsKey(ch) == false) return false;
if (sMap.get(ch) == 0) return false;
sMap.put(ch, sMap.get(ch) - 1);
}
return true;
}
}