1. public boolean isAnagram(String s, String t) {
    2. if (s.length() != t.length()) {
    3. return false;
    4. }
    5. char[] ss = s.toCharArray();
    6. char[] tt = t.toCharArray();
    7. Arrays.sort(ss);
    8. Arrays.sort(tt);
    9. return Objects.deepEquals(ss, tt);
    10. }
    1. public boolean isAnagram(String s, String t) {
    2. if (Objects.isNull(s) || Objects.isNull(t) || s.length() != t.length()) {
    3. return false;
    4. }
    5. char[] ss = s.toCharArray();
    6. char[] tt = t.toCharArray();
    7. HashMap<Character,Integer> map1 = new HashMap();
    8. HashMap<Character,Integer> map2 = new HashMap();
    9. for (int i = 0; i < s.length(); i++) {
    10. map1.put(s.charAt(i), map1.getOrDefault(s.charAt(i), 0) + 1);
    11. }
    12. for (int i = 0; i < t.length(); i++) {
    13. map2.put(t.charAt(i), map2.getOrDefault(t.charAt(i), 0) + 1);
    14. }
    15. final Set<Map.Entry<Character, Integer>> entries = map1.entrySet();
    16. for (Map.Entry<Character, Integer> entry : entries) {
    17. if (!entry.getValue().equals(map2.get(entry.getKey()))) {
    18. return false;
    19. }
    20. }
    21. return true;
    22. }
    1. public boolean isAnagram(String s, String t) {
    2. if (s.length() != t.length()) {
    3. return false;
    4. }
    5. HashMap<Character, Integer> map = new HashMap();
    6. for (int i = 0; i < s.length(); i++) {
    7. map.put(s.charAt(i), map.getOrDefault(s.charAt(i), 0) + 1);
    8. }
    9. for (int i = 0; i < t.length(); i++) {
    10. int count = map.getOrDefault(t.charAt(i), 0);
    11. if (count == 0) {
    12. return false;
    13. }
    14. map.put(t.charAt(i), count - 1);
    15. }
    16. return true;
    17. }