力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
给你两个字符串:
ransomNote
和magazine
,判断ransomNote
能不能由magazine
里面的字符构成。如果可以,返回
true
;否则返回false
。
magazine
中的每个字符只能在ransomNote
中使用一次。
题解:字符统计方法,只要保证 magazine中的字符个数大于对应的ransomNote个字符个数即可
代码如下:
class Solution {
public boolean canConstruct(String ransomNote, String magazine) {
if(ransomNote.length() > magazine.length()){
return false;
}
int[] cnt = new int[26];
for(char c : magazine.toCharArray()) {
cnt[c-'a']++;
}
for(char c : ransomNote.toCharArray()){
cnt[c-'a']--;
if(cnt[c-'a'] < 0){
return false;
}
}
return true;
}
}