Q23 Valid Anagram - LeetCode

PHOTO EMBED

Thu Jan 26 2023 09:22:46 GMT+0000 (Coordinated Universal Time)

Saved by @Ayush_dabas07

class Solution {
    public boolean isAnagram(String s, String t) {
        if(s.length() != t.length())
        return false;

        //traverse 1 string and make hashmap
        HashMap<Character,Integer> map = new HashMap<>();
        for(int i = 0 ;i < s.length();i++){
            char ch = s.charAt(i);
            map.put(ch , map.getOrDefault(ch,0)+1);
        }
        

        //now traverse 2nd string and keep removing 
        for(int i =0 ;i < t.length();i++){
            char ch = t.charAt(i);

            if(map.containsKey(ch)){
                if(map.get(ch)==1)
                map.remove(ch);

                else
                map.put(ch,map.get(ch)-1);
            }

            else
            return false;
        }
        //if hashmap size is 0 they were valid anagram
        return true;
    }
}
content_copyCOPY

https://leetcode.com/problems/valid-anagram/