class Solution {
public int translateNum(int num) {
int tmp = num;
// 数字长度
int len = 0;
while(tmp != 0) {
len++;
tmp = tmp / 10;
}
// 将数字存入到数组中
int[] num1 = new int[len];
for(int i = 0; i < len; i++) {
num1[i] = num / (int) Math.pow(10, len - i - 1);
num = num % (int) Math.pow(10, len - i - 1);
}
int a = 1;
int b = 1;
int sum = 1;
for(int i = 1; i < len; i++) {
// 如果当前数字和上一个数字可以组成一个字符
if(num1[i - 1] == 1 || (num1[i - 1] == 2 && num1[i] < 6)) {
sum = a + b;
}else {
sum = b;
}
a = b;
b = sum;
}
return sum;
}
}