Leetcode 242:有效的字母异位词

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

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

示例 1:

输入: s = "anagram", t = "nagaram"
输出: true

示例 2:

输入: s = "rat", t = "car"
输出: false

方法一:用Map判断

public static boolean isAnagram(String s, String t) {
        int sLen=s.length(),tLen=t.length();
        if(sLen!=tLen){
            return false;
        }

        Map map=new HashMap();
        for (int i=0;i

方法二:用数组进行存储

public static boolean isAnagram2(String s, String t) {
        //设置record数组为26,对应存储26个字母
        int[] record = new int[26];

        for (int i = 0; i < s.length(); i++) {
            record[s.charAt(i) - 'a']++;     // 并不需要记住字符a的ASCII,只要求出一个相对数值就可以了
        }


        for (int i = 0; i < t.length(); i++) {
            record[t.charAt(i) - 'a']--;
        }

        for (int i=0;i

你可能感兴趣的:(leetcode,算法,职场和发展)