Seawolf 发表于 2019-10-18 13:30:07

leetcode 91. Decode Ways

A message containing letters from A-Z is being encoded to numbers using the following mapping:

'A' -> 1
'B' -> 2
...
'Z' -> 26
Given a non-empty string containing only digits, determine the total number of ways to decode it.

Example 1:

Input: "12"
Output: 2
Explanation: It could be decoded as "AB" (1 2) or "L" (12).
Example 2:

Input: "226"
Output: 3
Explanation: It could be decoded as "BZ" (2 26), "VF" (22 6), or "BBF" (2 2 6).

dp solution

class Solution {
public:
    int numDecodings(string s) {
      
      if(s.length() == 0 || s == '0') return 0;
      vector <int> dp(s.length()+1,0);
      dp = 1;
      dp = 1;
      int max1 = 0;
      for(int i = 2; i <= s.length(); i++){
            
            if(s >= '1' && s < '27'){
                dp += dp;
            }
            
            if(s == '1' || (s == '2' && s >= '0' && s <= '6')){
                dp += dp;
            }
            
            
      }
      return dp;
    }
};
页: [1]
查看完整版本: leetcode 91. Decode Ways