class Solution {
/**
* @param Integer $num
* @return Integer
*使用动态规划,从0到当前指针的指向的数字的方法个数 = 从0到当前指针的指向的数字的前一个数字的方法个数 +从0到当前指针的指向的数字的前两个数字的方法个数(当前数字在0到5之间并且前一个数字等于2 或者当前数字在0到9之间并且*前一个数字等于1)
*/
function translateNum($num) {
$res = [];
$num = (string)$num;
//初始化-1为1,当只要一个数是也为1
$res[-1] = 1;
for($i=0;$i<strlen($num);$i++){
if($i == 0){
$res[$i] = 1;
}else{
if(($num[$i] >=0 && $num[$i] <=5 && $num[$i-1] == 2) || ($num[$i-1] == 1)){
$res[$i] = $res[$i-1]+$res[$i-2];
}else{
$res[$i] = $res[$i-1];
}
}
}
return $res[strlen($num)-1];
}
}