方法一 个人方法:
由题意可得:
1、1-26对应a-z,只不过从10开始,后面要加#才能表示字母
2、10# - 26#? 都是三位数,开头<=2,结尾都为#
3、某个数后面两位如果不为#那么该数为1-9对应a-i,如果后面两位为#则该数和后一位数字一起代表10-26,对应j-z
那么可以定义数组,数组从下标1开始到26对应元素为a-z
var freqAlphabets = function(s) {
let char='0abcdefghijklmnopqrstuvwxyz',res='',i=0
while(i<=s.length-1){
let index=''
if(s[i]<=2 && s[i+2]==='#'){
index=s[i]+s[i+1]-''
res+=char[index]
i+=3
}else{
index=s[i]-''
res+=char[index]
i++
}
}
return res
};
消耗时间和内存情况: