首页 > 代码库 > LeetCode--Decode Ways
LeetCode--Decode Ways
其实本题和:http://www.geeksforgeeks.org/count-possible-decodings-given-digit-sequence/
是类似的。
但是这道题需要考虑错误情况。
1 class Solution { 2 public: 3 int numDecodings(string s) { 4 if(s == "") 5 return 0; 6 vector<int> count; 7 int i; 8 for(i = 0 ; i < s.length() ; ++i) 9 {10 count.push_back(0);11 if(s[i] < ‘0‘ || s[i] > ‘9‘)12 return 0;13 if(s[i] == ‘0‘)14 {15 if (i == 0 || s[i - 1] == ‘0‘ || s[i - 1] > ‘2‘) { 16 return 0; 17 } 18 else { 19 count[i] = i > 1 ? count[i - 2] : 1; 20 } 21 }22 else23 {24 if(i == 0)25 count[i] = 1;26 else27 {28 if(s[i] > ‘0‘)29 count[i] = count[i-1];30 if(i >= 1 &&(s[i-1] == ‘1‘ || (s[i-1] == ‘2‘ && s[i] < ‘7‘)))31 count[i] += i>1 ? count[i-2]:1; 32 }33 }34 }35 return count[s.length()-1];36 }37 };
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。