欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

leetcode 242.有效的字母异位词

程序员文章站 2022-07-01 17:10:35
...

原题如下:

leetcode 242.有效的字母异位词

方法一

/*
 *作者@v7fgg
 *执行用时 :19 ms, 在所有 Java 提交中击败了16.38%的用户
 *内存消耗 :40.6 MB, 在所有 Java 提交中击败了5.66%的用户
 *2020年6月2日 22:39
 */
class Solution {
    public boolean isAnagram(String s, String t) {
        Map<Character,Integer> ms=new HashMap<>();
        Map<Character,Integer> mt=new HashMap<>();
        int ls=s.length();
        int lt=t.length();
        if(ls!=lt){return false;}
        for(int i=0;i<ls;i++){
            ms.put(s.charAt(i),ms.getOrDefault(s.charAt(i),0)+1);
        }
        for(int j=0;j<lt;j++){
            mt.put(t.charAt(j),mt.getOrDefault(t.charAt(j),0)+1);
        }
        return ms.equals(mt);
    }
}
/*
 *作者@v7fgg
 *执行用时 :18 ms, 在所有 Java 提交中击败了18.23%的用户
 *内存消耗 :41 MB, 在所有 Java 提交中击败了5.66%的用户
 *2020年6月2日 22:50
 */
class Solution {
    public boolean isAnagram(String s, String t) {
        Map<Character,Integer> ms=new HashMap<>();
        Map<Character,Integer> mt=new HashMap<>();
        int ls=s.length();
        int lt=t.length();
        if(ls!=lt){return false;}
        for(int i=0;i<ls;i++){
            ms.put(s.charAt(i),ms.getOrDefault(s.charAt(i),0)+1);
        }
        for(int j=0;j<lt;j++){
            mt.put(t.charAt(j),mt.getOrDefault(t.charAt(j),0)+1);
        }
        for(char c:ms.keySet()){
            if(mt.containsKey(c)){
                if(!(ms.get(c).equals(mt.get(c)))){
                    //不能用==来判断
                    return false;
                }
            }
            else{
                return false;
            }
        }return true;
    }
}