Decode Ways LeetCode solution in JavaScript

1
var numDecodings = function (s) {
2
let dp = Array(s.length).fill(0); // dp[i] means, the total ways of decode for substring up to i
3
dp[0] = s[0] !== "0" ? 1 : 0;
4

5
for (let i = 1; i < s.length; i++) {
6
//case1
7
if (s[i] !== "0") {
8
dp[i] = dp[i - 1];
9
}
10
//case2
11
if (s[i - 1] === "1" || (s[i - 1] === "2" && parseInt(s[i]) <= 6)) {
12
dp[i] += dp[i - 2] ?? 1;
13
}
14
}
15

16
return dp[s.length - 1];
17
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0