242. 有效的字母异位词

给定两个字符串 st ,编写一个函数来判断 t 是否是 s 的字母异位词。

//用的是HashMap这个数据结构,和之前的那个数组中重复元素比较类似,不用这个的话,直接用散列表来看一下效果怎么样

class Solution {
    public boolean isAnagram(String s, String t) {
        if(s.length()!=t.length())
            return false;
        Map<Character,Integer> map=new HashMap<Character,Integer>();
        for(int i=0;i<s.length();i++)
        {
            if(map.containsKey(s.charAt(i)))
            {
                map.put(s.charAt(i),map.get(s.charAt(i))+1);
            }
            else
                map.put(s.charAt(i),1);
        }
        for(int i=0;i<t.length();i++)
        {
            if(map.containsKey(t.charAt(i))&&map.get(t.charAt(i))>0)
                map.put(t.charAt(i),map.get(t.charAt(i))-1);
            else
                return false;
        }
        return true;
    }
}

class Solution {
    public boolean isAnagram(String s, String t) {
        if(s.length()!=t.length())
            return false;
        int[] arr=new int[26];
        for(int i=0;i<s.length();i++)
            arr[s.charAt(i)-'a']++;
         for(int i=0;i<t.length();i++)
            arr[t.charAt(i)-'a']--;
        for(int i=0;i<26;i++)
            if(arr[i]!=0)
                return false;
        return true;
    }
}

原文地址:https://www.cnblogs.com/cold-windy/p/11312932.html