242.有效的字母异位词


242.有效的字母异位词

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

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

示例 1:

输入: s = “anagram”, t = “nagaram”
输出: true

示例 2:

输入: s = “rat”, t = “car”
输出: false

提示:

  • 1 <= s.length, t.length <= 5 * 104
  • st 仅包含小写字母

题解:

// class Solution {
//     public boolean isAnagram(String s, String t) {
//         if (s.length() != t.length()) {
//             return false;
//         }
//         Map<Character, Integer> map = new HashMap();
//         for (int i = 0; i < s.length(); i++) {
//             map.put(s.charAt(i), 0);
//             map.put(t.charAt(i), 0);
//         }
//         for (int i = 0; i < s.length(); i++) {
//             map.put(s.charAt(i), map.get(s.charAt(i)) + 1);
//             map.put(t.charAt(i), map.get(t.charAt(i)) - 1);
//         }
        

//         for (Character key : map.keySet()) {
//             if (map.get(key) != 0) {
//                 return false;
//             }
//         }
        
//         return true;
//     }
// }

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

文章作者: Feliks
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Feliks !
评论
  目录