写点什么

leetcode 242. Valid Anagram 有效的字母异位词 (简单)

作者:okokabcd
  • 2022 年 8 月 25 日
    山东
  • 本文字数:567 字

    阅读完需:约 2 分钟

leetcode 242. Valid Anagram 有效的字母异位词(简单)

一、题目大意

https://leetcode.cn/problems/valid-anagram


给定两个字符串 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

  • s 和 t 仅包含小写字母


进阶: 如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况?

二、解题思路

建立一个哈希表映射,一共 26 个字母,可以用一个数组来代替哈希表,我们先判断两个字符串长度不相同返回 false。然后把 s 中所有字符出现个数统计起来,存入一个大小为 26 的数组中。再统计 t 字符串,如果发现不匹配则返回 false。

三、解题方法

3.1 Java 实现

public class Solution {    public boolean isAnagram(String s, String t) {        if (s.length() != t.length()) {            return false;        }        int[] m = new int[26];        for (char c : s.toCharArray()) {            m[c - 'a']++;        }        for (char c : t.toCharArray()) {            if (--m[c - 'a'] < 0) {                return false;            }        }        return true;    }}
复制代码

四、总结小记

  • 2022/8/25 最怕一知半解给瞎出主意

发布于: 刚刚阅读数: 3
用户头像

okokabcd

关注

还未添加个人签名 2019.11.15 加入

一年当十年用的Java程序员

评论

发布
暂无评论
leetcode 242. Valid Anagram 有效的字母异位词(简单)_LeetCode_okokabcd_InfoQ写作社区