题目:https://leetcode-cn.com/problems/decode-ways/
一条包含字母 A-Z
的消息通过以下方式进行了编码:
'A' -> 1
'B' -> 2
...
'Z' -> 26
给定一个只包含数字的非空字符串,请计算解码方法的总数。
这道题一开始想到的是回溯算法,但是执行到239题时超时。回溯算法思路:从左往右,穷举所有可能的组合。
1)有效解的判定:剩下数字个数为0
2)当前节点解空间:右边未组合的数字
3)剪枝函数:右边剩下首位为0,组合数大于26
/**
* @param {string} s
* @return {number}
*/
var numDecodings = function(s) {
let count=0;
const backTrack=function(resources){
if(resources.length===0){
count++;
return;
}else if(resources[0]==="0"){
return;
}
let total=