/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
if (s.length() != t.length()) return false;
HashMap
<Character, Integer
> map
= new HashMap
<>();
// Count frequency of each character in string s
for (char c : s.toCharArray()) {
map.put(c, map.getOrDefault(c, 0) + 1);
}
// Subtract frequency using string t
for (char c : t.toCharArray()) {
if (!map.containsKey(c)) return false;
map.put(c, map.get(c) - 1);
if (map.get(c) == 0) map.remove(c);
}
// If map is empty, it's a valid anagram
return map.isEmpty();
}
public static void main
(String[] args
) { System.
out.
println(isAnagram
("listen",
"silent")); // true System.
out.
println(isAnagram
("hello",
"world")); // false }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKIHB1YmxpYyBzdGF0aWMgYm9vbGVhbiBpc0FuYWdyYW0oU3RyaW5nIHMsIFN0cmluZyB0KSB7CiBpZiAocy5sZW5ndGgoKSAhPSB0Lmxlbmd0aCgpKSByZXR1cm4gZmFsc2U7CgogICAgICAgIEhhc2hNYXA8Q2hhcmFjdGVyLCBJbnRlZ2VyPiBtYXAgPSBuZXcgSGFzaE1hcDw+KCk7CgogICAgICAgIC8vIENvdW50IGZyZXF1ZW5jeSBvZiBlYWNoIGNoYXJhY3RlciBpbiBzdHJpbmcgcwogICAgICAgIGZvciAoY2hhciBjIDogcy50b0NoYXJBcnJheSgpKSB7CiAgICAgICAgICAgIG1hcC5wdXQoYywgbWFwLmdldE9yRGVmYXVsdChjLCAwKSArIDEpOwogICAgICAgIH0KCiAgICAgICAgLy8gU3VidHJhY3QgZnJlcXVlbmN5IHVzaW5nIHN0cmluZyB0CiAgICAgICAgZm9yIChjaGFyIGMgOiB0LnRvQ2hhckFycmF5KCkpIHsKICAgICAgICAgICAgaWYgKCFtYXAuY29udGFpbnNLZXkoYykpIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgbWFwLnB1dChjLCBtYXAuZ2V0KGMpIC0gMSk7CiAgICAgICAgICAgIGlmIChtYXAuZ2V0KGMpID09IDApIG1hcC5yZW1vdmUoYyk7CiAgICAgICAgfQoKICAgICAgICAvLyBJZiBtYXAgaXMgZW1wdHksIGl0J3MgYSB2YWxpZCBhbmFncmFtCiAgICAgICAgcmV0dXJuIG1hcC5pc0VtcHR5KCk7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihpc0FuYWdyYW0oImxpc3RlbiIsICJzaWxlbnQiKSk7IC8vIHRydWUKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oaXNBbmFncmFtKCJoZWxsbyIsICJ3b3JsZCIpKTsgICAvLyBmYWxzZQogICAgfQp9Cgo=