91. Decode Ways (DP)
Java String to int
1.int a = Integer.parseInt(str);
2.int b = Integer.valueOf(str).intValue();
Char to int
int c1 = Character.getNumericValue(i);
考虑0的情况 0的前面是0的情况
1 class Solution { 2 public int numDecodings(String s) { 3 int n = s.length(); 4 if(Character.getNumericValue(s.charAt(0)) == 0) return 0; 5 if(n == 1) return 1; 6 int[] res = new int[n + 1]; 7 res[0] = 1; 8 res[1] = 1; 9 for(int i = 1; i < n; i++) { 10 char c = s.charAt(i); 11 int c1 = Character.getNumericValue(c); 12 char b = s.charAt(i - 1); 13 int b1 = Character.getNumericValue(b); 14 if(c1 != 0) { 15 if((b1 == 1) || (b1 == 2 && c1 <= 6)) { 16 res[i + 1] = res[i - 1] + res[i]; 17 }else { 18 res[i + 1] = res[i]; 19 } 20 21 }else { 22 if(b1 <= 2 && b1 > 0) { 23 res[i + 1] = res[i - 1]; 24 }else { 25 return 0; 26 } 27 } 28 } 29 return res[n]; 30 31 32 } 33 }