题解 | #把数字翻译成字符串#
把数字翻译成字符串
https://www.nowcoder.com/practice/046a55e6cd274cffb88fc32dba695668
public int solve (String nums) { // write code here int n=nums.length(); if(n==0||nums.charAt(0)=='0') return 0; if(n==1) return 1; int[] dp=new int[n+1]; dp[0]=1; dp[1]=1; for(int i=2;i<=n;i++){ //下面是核心部分,看个位数如果不是0,自己能构成一种情况 //两位数如果没超过26而且大于10,又能构成一种情况 int one=Integer.valueOf(nums.substring(i-1,i)); int two=Integer.valueOf(nums.substring(i-2,i)); if(one>=1) dp[i]+=dp[i-1]; if(two>=10&&two<=26){dp[i]+=dp[i-2];} } return dp[n]; }