LeetCode 242. 有效的字母异位词

//方法一,排序,将字符串s、t 分别按字母的升降序排序,比较s、t是否相等

//方法二,使用哈希表
class Solution {
    public boolean isAnagram(String s, String t) {
        //如果俩个字符串长度不等,直接返回
        if(s.length() != t.length()) return false;
        //使用哈希映射,因为字母才26个,所以建一个26位的计数器就可以了
        int[] count = new int[26];
        //遍历S,字母数量++ ,遍历T,字母数量--,判断最后计数器是否为0
        for(int i = 0;i<s.length();i++){
            count[s.charAt(i) - 'a']++;
            count[t.charAt(i) - 'a']--;
        }
        for(int num : count){
            if(num != 0) return false;
        }
        return true;
    }
}

 

posted @ 2020-10-28 20:46  peanut_zh  阅读(72)  评论(0编辑  收藏  举报