[LeetCode]91. Decode Ways

来源:互联网 发布:新疆的网络受限 编辑:程序博客网 时间:2024/05/17 01:07

https://leetcode.com/problems/decode-ways/

1代表A……26代表Z,求数字字符串能decode的种类个数


DP,字符串转int可以用Integer.parseInt(String s)。数组多开一位,dp[len] = 1保证倒数第二位dp值正确

public class Solution {    public int numDecodings(String s) {        if (s == null || s.length() == 0) {            return 0;        }        int len = s.length();        int[] dp = new int[len + 1];        dp[len] = 1;        dp[len - 1] = (s.charAt(len - 1) == '0' ? 0 : 1);        for (int i = len - 2; i >= 0; i--) {            if (s.charAt(i) != '0') {                dp[i] = (Integer.parseInt(s.substring(i, i + 2)) <= 26 ? dp[i + 1] + dp[i + 2] : dp[i + 1]);            }        }        return dp[0];    }}


0 0
原创粉丝点击