Decode Ways LeetCode solution in Java

1
class Solution {
2
public int numDecodings(String s) {
3
int[] dp = new int[s.length() + 1];
4
dp[0] = 1;
5
dp[1] = s.charAt(0) == '0' ? 0 : 1;
6

7
for (int i = 2; i <= s.length(); i++) {
8
int oneDigit = Integer.valueOf(s.substring(i - 1, i));
9
int twoDigit = Integer.valueOf(s.substring(i - 2, i));
10

11
if (oneDigit >= 1) {
12
dp[i] += dp[i - 1];
13
}
14
if (twoDigit >= 10 && twoDigit <= 26) {
15
dp[i] += dp[i - 2];
16
}
17
}
18
return dp[s.length()];
19
}
20
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0