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

相关推荐
禅与Bug的修复艺术2 分钟前
JAVA后端开发常用的LINUX命令总结
java·linux·面试·java面试·后端开发·java后端·面试经验
佩奇的技术笔记7 分钟前
Java学习手册:Java开发常用的内置工具类包
java
triticale19 分钟前
【蓝桥杯】P12165 [蓝桥杯 2025 省 C/Java A] 最短距离
java·蓝桥杯
Felven20 分钟前
A. Ideal Generator
java·数据结构·算法
秋野酱27 分钟前
基于 Spring Boot 的银行柜台管理系统设计与实现(源码+文档+部署讲解)
java·spring boot·后端
懒懒小徐28 分钟前
大厂面试-框架篇
面试·职场和发展
JAVA学习通42 分钟前
JAVA多线程(8.0)
java·开发语言
不当菜虚困44 分钟前
JAVA设计模式——(七)代理模式
java·设计模式·代理模式
wayhome在哪1 小时前
大厂必考之大文件上传
面试
MoonBit月兔1 小时前
双周报Vol.70: 运算符重载语义变化、String API 改动、IDE Markdown 格式支持优化...多项更新升级!
ide·算法·哈希算法