题解 | #把数字翻译成字符串#
把数字翻译成字符串
https://www.nowcoder.com/practice/046a55e6cd274cffb88fc32dba695668
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* 解码
* @param nums string字符串 数字串
* @return int整型
*/
public int solve(String nums) {
if (nums.charAt(0) == '0') {
return 0;
}
int[] dp = new int[nums.length() + 1];
dp[0] = 1;
dp[1] = 1;
for (int i = 1; i < nums.length(); i++) {
if (nums.charAt(i) == '0') {
if (nums.charAt(i - 1) < '1' || nums.charAt(i - 1) > '2') {
return 0;
}
dp[i + 1] = dp[i - 1];
}else if (nums.charAt(i - 1)== '0') {
dp[i + 1] = dp[i];
} else if (Integer.parseInt(nums.substring(i - 1, i + 1)) <= 26) {
dp[i + 1] = dp[i - 1] + dp[i];
} else {
dp[i + 1] = dp[i];
}
}
return dp[nums.length()];
}
}
查看23道真题和解析