From 98216e0d618bc56b44a1223bf98126bbe8136e5c Mon Sep 17 00:00:00 2001 From: Amit S Sahu Date: Wed, 23 Oct 2024 14:27:12 +0530 Subject: [PATCH] Time: 13 ms (32.07%), Space: 44.8 MB (13.33%) - LeetHub --- 0242-valid-anagram/0242-valid-anagram.java | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/0242-valid-anagram/0242-valid-anagram.java b/0242-valid-anagram/0242-valid-anagram.java index 6961332..54eebc9 100644 --- a/0242-valid-anagram/0242-valid-anagram.java +++ b/0242-valid-anagram/0242-valid-anagram.java @@ -1,19 +1,17 @@ class Solution { public boolean isAnagram(String s, String t) { if (s.length() != t.length()) return false; - HashMap map = new HashMap<>(26); + HashMap map = new HashMap<>(); - for (int i = 0; i < s.length(); i++) { - map.put(s.charAt(i), map.getOrDefault(s.charAt(i), 0) + 1); + for (Character ch : s.toCharArray()) { + map.put(ch, map.getOrDefault(ch, 0) + 1); } - for (int i = 0; i < t.length(); i++) { - if (map.containsKey(t.charAt(i)) && (map.get(t.charAt(i)) > 1)) map.put(t.charAt(i), map.get(t.charAt(i)) - 1); - else if (map.containsKey(t.charAt(i))) map.remove(t.charAt(i)); - else return false; + for (Character ch : t.toCharArray()) { + if (!map.containsKey(ch) || map.get(ch) == 0) return false; + map.put(ch, map.get(ch) - 1); } - if (map.isEmpty()) return true; - return false; + return true; } } \ No newline at end of file