题面
简单题,用于字符处理的题比较方便,需要注意的是在javascript中,除了运算符+是可以用于string类型,用来字符串拼接的,其他的都只能用于number型
若要对于字符的ascii码进行操作,如java中的
arr[i] - 'a'
在javascript中应该使用 charCodeAt()方法
arr[i].charCodeAt() - 'a'
数组初始化0可以使用
arr.fill(0);
具体代码如下
/**
* @param {string} ransomNote
* @param {string} magazine
* @return {boolean}
*/
var canConstruct = function(ransomNote, magazine) {
let arr = new Array(26);
arr.fill(0);
for(let i = 0;i < magazine.length;i++){
arr[magazine[i].charCodeAt() - 97]++;
}
for(let i = 0;i < ransomNote.length;i++){
if(--arr[ransomNote[i].charCodeAt() - 97] < 0) return false;
}
return true;
};
注意a–,–a,a-1 的执行顺序