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

栏目: 编程工具 · 发布时间: 5年前

给定两个字符串 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;
    }
}复制代码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法笔记

算法笔记

胡凡、曾磊 / 机械工业出版社 / 2016-7 / 65

这是一本零基础就能读懂的算法书籍,读者不需要因为自己没有语言基础而畏惧。书籍的第2章便是一个C语言的入门教程,内容非常易懂,并且十分实用,阅读完这章就可以对本书需要的C语言基础有一个较好的掌握。 本书已经覆盖了大部分基础经典算法,不仅可以作为考研机试和PAT的学习教材,对其他的一些算法考试(例如CCF的CSP考试)或者考研初试的数据结构科目的学习和理解也很有帮助,甚至仅仅想学习经典算法的读者......一起来看看 《算法笔记》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具