package leetcode;
public class demo_91 {
public int numDecodings(String s) {
int f[]=new int [s.length()+1];
if(s.startsWith("0")) {return 0;}
//如果是是一个空字符串,也可以解码出一种可能
f[0]=1;
//f[n]=f[n-1]+f[n-2]
for(int i=1;i<=s.length();i++) {
//解码最后一位
if(s.charAt(i-1)!='0') {
f[i]=f[i-1];
}
//解码最后两位
if(i>1&&s.charAt(i-2)!='0'&&Integer.valueOf(s.substring(i-2,i))<=26) {
f[i]=f[i]+f[i-2];
}
}
System.out.println(f[s.length()]);
return f[s.length()];
}
public static void main(String[] args) {
// TODO Auto-generated method stub
demo_91 d91=new demo_91();
String s="226";
d91.numDecodings(s);
}
}