public class Solution {
/**
* @param s: a string, encoded message
* @return: an integer, the number of ways decoding
*/
public int numDecodings(String s) {
// write your code here
if(s.isEmpty() || s.charAt(0) == '0')
return 0;
int[] f = new int[s.length()+1];//f(n)表示第n个字符位置有多少种解法
f[0] = 1;
f[1] = 1;
for(int i=2; i<=s.length(); i++)
{
if(s.charAt(i-1) != '0')
{
f[i] = f[i-1];
}
if(s.substring(i-2, i).compareTo("10") >= 0 && s.substring(i-2, i).compareTo("26") <= 0)
{
f[i] += f[i-2];
}
}
return f[s.length()];
}
}