diff --git a/java/242-Valid-Anagram.java b/java/242-Valid-Anagram.java index 83aa38541..a5edb5b04 100644 --- a/java/242-Valid-Anagram.java +++ b/java/242-Valid-Anagram.java @@ -1,19 +1,20 @@ class Solution { public boolean isAnagram(String s, String t) { - if (s.length() != t.length()) return false; - int[] countS = new int[26]; - int[] countT = new int[26]; + if(s.length() != t.length()) return false; + if(s.equals(t)) return true; - for (int i = 0 ; i < s.length() ; i++) { - countS[s.charAt(i) - 'a']++; - countT[t.charAt(i) - 'a']++; - } + Map sMap = new HashMap<>(); + Map tMap = new HashMap<>(); - for (int i = 0 ; i < 26 ; i++) { - if (countS[i] - countT[i] != 0) return false; + for(int i = 0; i < s.length(); i++) { + sMap.merge(s.charAt(i), 1, Integer::sum); + tMap.merge(t.charAt(i), 1, Integer::sum); } + for(Character c : sMap.keySet()) { + if(!sMap.get(c).equals(tMap.get(c))) return false; + } return true; } -} \ No newline at end of file +}