把數字翻譯字串
import java.util.*;
public class Solution {
/**
* 解碼
* @param nums string字串 數字串
* @return int整型
*/
public int solve (String nums) {
if(nums==null ||nums.length()==0)
return 0;
int[] dp = new int[nums.length()+1];
dp[0]=1;
dp[1]=nums.charAt(0)=='0'?0:1;
for(int i=2;i<dp.length;i++){
//無法獨立編碼也無法組合編碼
if(nums.charAt(i-1)=='0' && (nums.charAt(i-2)=='0' || nums.charAt(i-2)>'2')){
return 0;
//只能組合編碼
}else if(nums.charAt(i-1)=='0'){
dp[i] = dp[i-2];
//只能獨立編碼
}else if(nums.charAt(i-2)=='0' || nums.charAt(i-2)>'2' || nums.charAt(i-2)=='2'&& nums.charAt(i-1)>'6' ){
dp[i] = dp[i-1];
//兩種編碼方式都可以
}else{
dp[i] = dp[i-1]+dp[i-2];
}
}
return dp[nums.length()];
}
}