给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。如果可以,返回 true ;否则返回 false 。magazine 中的每个字符只能在 ransomNote 中使用一次。
示例:
代码如下:
class Solution {
public boolean canConstruct(String ransomNote, String magazine) {
int[] a_arr = new int[26];
int a_len = ransomNote.length();//读取ransomNote字符串的长度
for (int i = 0; i < a_len; i++) {//循环遍历
a_arr[ransomNote.charAt(i) - 'a']++;//获取字符串ransomNote某处索引是否是a,若是则加加,即a的个数
}
int b_len = magazine.length();//读取magazine字符串的长度
for (int i = 0; i < b_len; i++) {//循环遍历
a_arr[magazine.charAt(i) - 'a']--;//获取字符串magazine某处索引是否是a,若是则加加,即a的个数
}
for (int i = 0; i < 26; i++) {//循环遍历
if (a_arr[i] > 0) return false;//++和--中和大于0的话,即代表magazine中某字母
//不足去组成ransomNote,返回flase
}
return true;//否则就是可以组成,返回true
}
}
运行效果:
(此题是力扣题库)