假设给定了映射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