每日一题——LeetCode1309.解码字母到整数映射

每日一题——LeetCode1309.解码字母到整数映射_第1张图片

方法一 个人方法:
由题意可得:

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
};

消耗时间和内存情况:

每日一题——LeetCode1309.解码字母到整数映射_第2张图片

你可能感兴趣的:(每日一题,算法,javascript,leetcode)