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

相关推荐
学习中.........32 分钟前
Transformer 训练资源估算:以 CS336 GPT-2 XL 配置为例
人工智能·python·算法·机器学习·自然语言处理
覆东流6 小时前
7.Java数组
java·开发语言·后端
m0_719084116 小时前
限流和获取请求ip的方法
java
Navigator_Z6 小时前
LeetCode //C - 1206. Design Skiplist
c语言·算法·leetcode
码行山野赴时序归途6 小时前
三道经典数组题:从暴力到最优的算法思维
c语言·开发语言·数据结构·算法·leetcode
lzhdim6 小时前
提高 SQL 语句执行速度的方法
java·开发语言·数据库·sql·oracle
徐小夕6 小时前
3分钟从想法到Agent上线:我们开源了一款AI可视化工作流“IDE”
前端·算法·github
深漂的华哥7 小时前
Ruoyi-Plus前后端分离场景下,数据加密传输
java·spring boot·后端·开源·maven·ruoyi
sel_97 小时前
【强化学习】Hands-on Modern RL项目实践|OPD 算法完整解析
人工智能·深度学习·算法·机器学习·语言模型
Navigator_Z8 小时前
LeetCode //C - 1209. Remove All Adjacent Duplicates in String II
c语言·算法·leetcode