[LeetCode]91. 解码方法(java实现)动态规划
1. 题目
  
2. 读题(需要重点注意的东西)
思路(动态规划): 
3. 解法
---------------------------------------------------解法---------------------------------------------------:
class Solution {
public int numDecodings(String s) {
int n = s.length();
s = " " + s;
int[] f = new int[n+1];
f[0] = 1;
for(int i = 1;i <= n;i++){
if(s.charAt(i) >= '1' && s.charAt(i) <= '9') f[i] += f[i - 1];
if(i >= 2){
int t = (s.charAt(i-1) - '0') * 10 + s.charAt(i) - '0';
if(t >= 10 && t <= 26) f[i] += f[i-2];
}
}
return f[n];
}
}
可能存在的问题:
4. 可能有帮助的前置习题
5. 所用到的数据结构与算法思想
6. 总结
|