题目描述:

一条包含字母 A-Z 的消息通过以下方式进行了编码:

'A' -> 1
'B' -> 2
...
'Z' -> 26

给定一个只包含数字的非空字符串,请计算解码方法的总数。

示例 1:

输入: "12"
输出: 2
解释: 它可以解码为 "AB"(1 2)或者 "L"(12)。

示例 2:

输入: "226"
输出: 3
解释: 它可以解码为 "BZ" (2 26), "VF" (22 6), 或者 "BBF" (2 2 6) 。 思路:对于第i个字符,只要s[i]!='0'(1-9有编码),解码方法并不会增加,和s[i-1]的解码方法个数一样,
然后看s[i-1]是否是'1'、'2'(1或者2可以和下一位组成新编码),因s[i+1]和s[i]组成了新的编码,
所以此时s[i]的编码总数需要再加上s[i-2]的编码个数。
注意:除了第一位不能为'0',之后的都可以,'10'也属于编码。
class Solution {
public:
int numDecodings(string s) {
if(s.size() == || s[] == '')
return ;
vector<int> a(s.size());
int i;
a[]=;
for(i =;i<s.size();i++)
{
if(s[i] != '')
{
a[i] = a[i-];
}
if(s[i-]=='' || s[i-]=='' && s[i]>='' && s[i]<='')
{
if(i==)
{
a[i] = a[i]+a[i-];
}else
{
a[i] = a[i]+a[i-];
}
} }
return a[i-];
}
};

题目链接:https://leetcode-cn.com/problems/decode-ways/

最新文章

  1. [转载]SQL Server 2008 R2安装时选择的是windows身份验证,未选择混合身份验证的解决办法
  2. Hibernate 基础配置及常用功能(二)
  3. TinyPNG---一个压缩PNG的神站
  4. OC小实例关于init方法不小心的错误
  5. android 拦截事件
  6. 图的邻接表存储表示(C)
  7. 【转】STL中mem_fun和mem_fun_ref的用法及区别
  8. eclipse.ini配置eclipse的启动参数
  9. 枚举在c与c++中定义的不同
  10. 【转】eclipse -- the project was not built due to a resource exists with a different case...
  11. 初识XMLHttpRequeset
  12. Linux Centos安装及卸载Apache
  13. nagios与zabbix对比
  14. Ceres配置(vs2013+Win10)
  15. [Java]直播方案----[接入环信聊天室]+[腾讯云直播]
  16. HDFS基本架构及概念介绍
  17. 第四周学习总结-HTML
  18. 简单数论总结1——gcd与lcm
  19. IE8下submit表单没反应
  20. (转)关于ES6的 模块功能 Module 中export import的用法和注意之处

热门文章

  1. JS---script的位置
  2. 关于hist
  3. etcd命令
  4. web安全之同源策略
  5. ORACLE AWR报告生成步骤
  6. JDBC编程之数据准备
  7. R语言 arules包 apriori()函数中文帮助文档(中英文对照)
  8. 11. CTF综合靶机渗透(四)
  9. hdu1053
  10. HTML5 &amp; CSS3编程入门经典 ((美)Rob Larsen) pdf扫描版