朴素的字符数组统计法
解题核心:
解题源码
var isAnagram = function(s, t) {
if(s.length != t.length){
return false;
}
var num = new Array();
for(var i = 0;i < 26; i++){
num[i] = 0;
}
var a = 'a'.charCodeAt(0);
for(var i = 0;i < s.length; i++){
num[s.charCodeAt(i) - a]++;
}
for(var i = 0;i < t.length; i++){
num[t.charCodeAt(i) - a]--;
}
for(var i = 0; i < 26; i++){
if(num[i] != 0){
return false;
}
}
return true;
};
话外
charAt()与charCodeAt()比较相似
- 区别
- charAt(index):通过下标查询到,返回的是字符
- charCodeAt(index):通过下标查询到,返回的是当前字符的Unicode值
添加判断语句后,运行速度变快(从92ms变成88ms)
if(s.length != t.length){
return false;
}