Q24 LeetCode383 赎金信

同Q23 只需要先将随机字符串挨个存入hashmap中,

然后循环遍历给定字符串,只要最后hashmap中size为0,即可返回true

 

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

 

posted @ 2024-06-10 20:11  清川1  阅读(15)  评论(0)    收藏  举报