forked from prakashshuklahub/Interview-Questions
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path91 Decode Ways
More file actions
40 lines (29 loc) · 935 Bytes
/
91 Decode Ways
File metadata and controls
40 lines (29 loc) · 935 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
A message containing letters from A-Z is being encoded to numbers using the following mapping:
'A' -> 1
'B' -> 2
...
'Z' -> 26
Given a non-empty string containing only digits, determine the total number of ways to decode it.
Example 1:
Input: "12"
Output: 2
Explanation: It could be decoded as "AB" (1 2) or "L" (12).
public int numDecodings(String s) {
int[] dp = new int[s.length()+1]; //4
dp[0] = 1;
if(s.charAt(0)!='0'){
dp[1] = 1;
}
//"1234"
for(int i=2;i<=s.length();i++){
int firstcut = Integer.valueOf(s.substring(i-1,i));
int secondcut = Integer.valueOf(s.substring(i-2,i));
if(firstcut>0){
dp[i] = dp[i-1];
}
if(secondcut>=10 && secondcut<=26){
dp[i] = dp[i] + dp[i-2];
}
}
return dp[s.length()];
}