publicbooleanisAnagram(String s,String t){if(s.length()!= t.length()){returnfalse;}int[] count =newint[26];for(int i =0; i < s.length(); i++){
count[s.charAt(i)-'a']++;
count[t.charAt(i)-'a']--;}for(int i =0; i <26; i++){if(count[i]!=0){returnfalse;}}returntrue;}
同样,将计数数组替换成Map,思路差不多。
publicbooleanisAnagram(String s,String t){if(s.length()!= t.length()){returnfalse;}Map<String,Integer> map =newjava.util.HashMap<>();for(int i =0; i < s.length(); i++){
map.put(s.charAt(i)+"", map.getOrDefault(s.charAt(i)+"",0)+1);
map.put(t.charAt(i)+"", map.getOrDefault(t.charAt(i)+"",0)-1);}for(String key : map.keySet()){if(map.get(key)!=0){returnfalse;}}returntrue;}