64.有效的字母异位词

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

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

/*
解题思路
因为出现次数要相同所以如果两个字符串长度不一样就直接返回 false ,然后先扫描 s 把 s 中每个char都记录次数
然后扫描 t 遇到相同就减掉 如果有对应的字符是 0 的话那么就说明实现没出现过 所以返回 false
*/
class Solution {
    public boolean isAnagram(String s, String t) {
        if (s.toCharArray().length != t.toCharArray().length) return false;
        int[] nums = new int[26];
        for (char chr : s.toCharArray()){
            nums[chr - 'a']++;
        }

        for (char chr : t.toCharArray()){
            if (nums[chr - 'a'] == 0){
                return false;
            }
            nums[chr - 'a']--;
        }
        return true;
    }
}

 

posted @ 2022-03-17 09:14  随遇而安==  阅读(31)  评论(0编辑  收藏  举报