首页 > 其他分享 >Q23 LeetCode242 字母异位词

Q23 LeetCode242 字母异位词

时间:2024-06-10 20:10:35浏览次数:15  
标签:LeetCode242 false HashMap 异位 length Q23 new String

1.先进行简单的字符长度判断,不相等直接返回false;

2.containsKey()的使用

3.在减减循环14-17行里判别key的value是否为0,要不然会报错

 

 1 class Solution {
 2     public boolean isAnagram(String s, String t) {
 3         if(s.length()!=t.length()){
 4             return false;
 5         }
 6         HashMap<Character,Integer> smap=new HashMap<>();
 7         HashMap<Character,Integer> tmap=new HashMap<>();
 8         for(int i=0;i<s.length();i++){
 9             smap.put(s.charAt(i),smap.getOrDefault(s.charAt(i),0)+1);
10         }
11         int vaild=smap.size();
12         for(int i=0;i<t.length();i++){
13              char c = t.charAt(i);
14             if(smap.containsKey(c)){
15                 smap.put(c,smap.getOrDefault(c,0)-1);
16                 if(smap.get(c)==0){
17                 smap.remove(c);
18             }
19             }
20            
21         }
22         return smap.size()==0 ? true:false;
23 
24     }
25 }

 

标签:LeetCode242,false,HashMap,异位,length,Q23,new,String
From: https://www.cnblogs.com/cff1/p/18240967

相关文章

  • 代码随想录算法训练营第五天 | 哈希表基础、有效字母异位、两个数组交集、快乐数
    哈希表基础理论https://programmercarl.com/哈希表理论基础.html#哈希表242有效字母异位词题https://leetcode.cn/problems/valid-anagram/description/242代码随想录解析https://programmercarl.com/0242.有效的字母异位词.html#算法公开课349两个数组的交集https://leetc......
  • 49. 字母异位词分组
    题目给你一个字符串数组,请你将字母异位词组合在一起。可以按任意顺序返回结果列表。字母异位词是由重新排列源单词的所有字母得到的一个新单词。示例1:输入:strs=["eat","tea","tan","ate","nat","bat"]输出:[["bat"],["nat","tan"],[&qu......
  • Day 6| 242.有效的字母异位词 、349. 两个数组的交集 、 202. 快乐数 、 1. 两数之和
    242.有效的字母异位词建议:这道题目,大家可以感受到数组用来做哈希表给我们带来的遍历之处。题目链接/文章讲解/视频讲解:https://programmercarl.com/0242.有效的字母异位词.html思考很简单的一道题,需要记住python获取ascii值的函数时ord()classSolution:defisAnag......
  • 代码随想录算法训练营第五天|242(有效的字母异位词),349(两个数组的交集),202(快乐数)
    哈希C#常用的数据结构:[]Array,ArrayList数组和动态数组List集合HashSet哈希集合(无重复值)HashTable哈希表(obj,obj的键值对)Dictionary<T,T>泛型的哈希表什么时候考虑Hash数据结构?需要高效的判断一个值是否存在在一个容器中时。容器不允许重复值(HashSet或哈希表的......
  • 代码随想录算法训练营第六天 | 242.有效的字母异位词 、349. 两个数组的交集、 202.
    哈希表理论基础建议:大家要了解哈希表的内部实现原理,哈希函数,哈希碰撞,以及常见哈希表的区别,数组,set和map。什么时候想到用哈希法,当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法。这句话很重要,大家在做哈希表题目都要思考这句话。文章讲解:https://program......
  • 代码随想录算法训练营day06 | 242.有效字母异位词
    242.有效的字母异位词题目链接文章讲解视频讲解时间复杂度o(n)空间复杂度o(n)classSolution{public:boolisAnagram(strings,stringt){unordered_map<char,int>s_map,t_map;for(charch:s)s_map[ch]++;for(charch:t)t......
  • LeetCode 049. 字母异位词分组
    给你一个字符串数组,请你将字母异位词组合在一起。可以按任意顺序返回结果列表。字母异位词是由重新排列源单词的所有字母得到的一个新单词。示例1:输入:strs=["eat","tea","tan","ate","nat","bat"]输出:[["bat"],["nat","tan"],["......
  • leetcode算法热题--字母异位词组合
    题目给你一个字符串数组,请你将字母异位词组合在一起。可以按任意顺序返回结果列表。字母异位词是由重新排列源单词的所有字母得到的一个新单词。示例1:输入:strs=["eat","tea","tan","ate","nat","bat"]输出:[["bat"],["nat","tan"],[&q......
  • 找到字符串中所有字母异位词
    Problem:438.找到字符串中所有字母异位词目录思路Code给定两个字符串s和p,找到s中所有p的异位词的子串,返回这些子串的起始索引。不考虑答案输出的顺序。异位词指由相同字母重排列形成的字符串(包括相同的字符串)。示例1:输入:s="cbaebabacd",p="abc"输出:......
  • 2024-04-23---简单题---有效的字母异位词(哈希表)
    题目:思路:排序:复杂度较高。两个字符串进行排序,然后开始比较两个字符串是否相等哈希表:主要是一个hashmap记录第一个字符串所有字符出现的次数,然后遍历第二个字符串没找到一个就将次数减一。看最后所有的值是否为0.时间复杂度选第二种,简单题罢了。代码:排序classSolution......