假设给定了映射a = 1,b = 2,... z = 26,以及一个编码消息。我们需要编写一个接收消息的JavaScript函数。
该函数应计算其解码方式的数量。
例如,消息“ 111”将为3,因为它可以被解码为“ aaa”,“ ka”和“ ak”。
为此的代码将是-
const waysToProcess = ( message, ways = 0 ) => {
if ( message.length ) {
ways = waysToProcess( message.slice( 1 ,message.length), ways );
const numCurr = parseInt( message[0] );
const numNext = "undefined" === typeof message[1] ? null :
parseInt(message[1]);
if ( numCurr && numNext
&& numCurr < 3
&& ( numCurr + numNext ) < 27
) {
ways = waysToProcess( message.slice( 2 ,message.length), ways );
}
} else {
ways++;
}
return ways;
}
console.log(waysToProcess('111'));输出结果
控制台中的输出将是-
3