【leetcode 13】哈希表 242.有效的字母异位词

原题链接

题解链接

一般哈希表都是用来快速判断一个元素是否出现集合里。

当我们想使用哈希法来解决问题的时候,我们一般会选择如下三种数据结构。

数组

set (集合)

map(映射)

如果在做面试题目的时候遇到需要判断一个元素是否出现过的场景也应该第一时间想到哈希法!

❓什么是字母异位词

字母异位词(Anagram)是指由相同字母组成,但字母的排列顺序不同的一组单词。例如,"listen" 和 "silent" 就是字母异位词,它们都包含了字母 "e、i、l、n、s、t",只是这些字母的排列顺序不一样。

java 复制代码
class Solution {
    public boolean isAnagram(String s, String t) {
        int[] record=new int [26];
        for(int i = 0; i < s.length(); i++){
            record[s.charAt(i) - 'a'] ++;
        }
        
        for(int i=0;i<t.length();i++){
            record[t.charAt(i)-'a']--;
        }

        for(int count:record){
            if(count!=0){
                return false;
            }
        }
        return true;
    }
}

时间复杂度O(m+n) 空间复杂度O(1)

相关推荐
小学生的信奥之路30 分钟前
力扣1991:找到数组的中间位置(前缀和)
数据结构·算法·leetcode·前缀和·数组
এ᭄画画的北北35 分钟前
力扣-102.二叉树的层序遍历
数据结构·算法·leetcode
ccLianLian36 分钟前
数据结构·字典树
数据结构·算法
找不到、了1 小时前
Spring-Beans的生命周期的介绍
java·开发语言·spring
caihuayuan42 小时前
React Native 0.68 安装react-native-picker报错:找不到compile
java·大数据·sql·spring·课程设计
爱编程的鱼2 小时前
C#接口(Interface)全方位讲解:定义、特性、应用与实践
java·前端·c#
旋风菠萝2 小时前
深入理解Java中的Minor GC、Major GC和Full GC
java·jvm·gc
苹果酱05672 小时前
React方向:react脚手架的使用
java·vue.js·spring boot·mysql·课程设计
找不到、了2 小时前
JVM如何处理多线程内存抢占问题
java·jvm
zhougl9962 小时前
Apache HttpClient 5 用法-Java调用http服务
java·http·apache