【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)

相关推荐
kangkang-1 小时前
PC端基于SpringBoot架构控制无人机(三):系统架构设计
java·架构·无人机
界面开发小八哥3 小时前
「Java EE开发指南」如何用MyEclipse创建一个WEB项目?(三)
java·ide·java-ee·myeclipse
yanlele3 小时前
我用爬虫抓取了 25 年 5 月掘金热门面试文章
前端·javascript·面试
董董灿是个攻城狮3 小时前
5分钟搞懂什么是窗口注意力?
算法
Dann Hiroaki3 小时前
笔记分享: 哈尔滨工业大学CS31002编译原理——02. 语法分析
笔记·算法
idolyXyz3 小时前
[java: Cleaner]-一文述之
java
一碗谦谦粉3 小时前
Maven 依赖调解的两大原则
java·maven
netyeaxi4 小时前
Java:使用spring-boot + mybatis如何打印SQL日志?
java·spring·mybatis
收破烂的小熊猫~4 小时前
《Java修仙传:从凡胎到码帝》第四章:设计模式破万法
java·开发语言·设计模式
猴哥源码4 小时前
基于Java+SpringBoot的动物领养平台
java·spring boot