这道题就是判断判断 ransomNote 能不能由 magazines 里面的字符构成。如果可以构成,返回 true ;否则返回 false 。magazine 中的每个字符只能在 ransomNote 中使用一次。
class Solution {
public boolean canConstruct(String ransomNote, String magazine) {
if(magazine.length()<ransomNote.length()){ //magazine 的长度小于ransomNote的长度,一定不满足
return false;
}
int[] count = new int[26];
for(int i=0;i<magazine.length();i++){ //统计magazine中各字符出现的次数
++count[magazine.charAt(i) - 'a'];
}
for(int i=0;i<ransomNote.length();i++){
--count[ransomNote.charAt(i) - 'a']; //将该字符在magazine中出现的次数减1
if(count[ransomNote.charAt(i) - 'a']<0){ //如果次数小于0,不满足返回false
return false;
}
}
return true;
}
}
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/weixin_43598687/article/details/121717984
内容来源于网络,如有侵权,请联系作者删除!