阅读 80

LeetCode每日一题:有效的字母异位词(No.242)

题目:有效的字母异位词


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

示例:


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

输入: s = "rat", t = "car"
输出: false
复制代码

思考:


这道题先判断s和t的长度,不相等则不可能是字母异或位词。
然后初始化一个int数组记录二十六个字母出现的次数。
遍历s、t,字母在s中出现一次数组对应位置上的数加1,在t中出现一次数组对应位置上的数减去1。
最后数组所有位置元素都为0返回true,即t 是 s 的字母异位词,否则返回false,t 不是 s 的字母异位词。
复制代码

实现:


class Solution {
    public boolean isAnagram(String s, String t) {
        if (s.length() != t.length())
            return false;
        int[] result = new int[26];
        for (int i = 0; i < s.length(); i++) {
            result[s.charAt(i) - 'a']++;
            result[t.charAt(i) - 'a']--;
        }
        for (int count = 0; count < 26; count++)
            if (result[count] != 0)
                return false;
        return true;
    }
}复制代码
关注下面的标签,发现更多相似文章
评论