使用Java语言深入理解程序逻辑——方法与参数类型

Java实现一个系统的权限管理

  返回  

leetcode数据结构入门-242. 有效的字母异位词

2021/8/21 21:05:42 浏览:

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

注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。

方法一:排序之后判等
代码:

class Solution {
    public boolean isAnagram(String s, String t) {
        if (s.length()!=t.length()){
            return false;
        }
        char[] array1 = s.toCharArray();
        char[] array2 = t.toCharArray();
        Arrays.sort(array1);
        Arrays.sort(array2);
        return Arrays.equals(array1,array2);
    }
}

方法二: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++){
            map.put(s.charAt(i),map.getOrDefault(s.charAt(i),0)+1);
        }
        for(int i = 0;i < t.length();i++){
            if(map.containsKey(t.charAt(i))){
                map.put(t.charAt(i),map.getOrDefault(t.charAt(i),0)-1);
            }
            else{
                return false;
            }
        }
        Iterator iterator = map.keySet().iterator();
        while(iterator.hasNext()){
            if(map.get(iterator.next()) != 0){
                return false;
            }
        } 
        return true;
    }
}

联系我们

如果您对我们的服务有兴趣,请及时和我们联系!

服务热线:18288888888
座机:18288888888
传真:
邮箱:888888@qq.com
地址:郑州市文化路红专路93号