【LeetCode】91 解码方法——动态规划
方法效率
代码
class Solution {
public int numDecodings(String s) {
char[] arr=s.toCharArray();
int m=arr.length;
int[] dp=new int[m+1];
dp[0]=1;
for(int i=1;i<=m;i++){
if(arr[i-1]!='0'){
dp[i]=dp[i]+dp[i-1];
}
if(i>1&&arr[i-2]!='0'&&((arr[i-2]-'0')*10+(arr[i-1]-'0'))<=26){
dp[i]=dp[i]+dp[i-2];
}
}
return dp[m];
}
}