Decode Ways
来源:互联网 发布:国务卿女士 知乎 编辑:程序博客网 时间:2024/04/30 16:21
A message containing letters from A-Z
is being encoded to numbers using the following mapping:
'A' -> 1'B' -> 2...'Z' -> 26
Given an encoded message containing digits, determine the total number of ways to decode it.
For example,
Given encoded message "12"
, it could be decoded as "AB"
(1 2) or "L"
(12).
The number of ways decoding "12"
is 2.
class Solution {public: int numDecodings(string s) { int len = s.length(); if (len == 0 || s[0] == '0') { return 0; } int buf[len]; buf[0] = 1; if (s[1] == '0') { if (s[0] == '1' || s[0] == '2') { buf[1] = 1; } else { return 0; } } else if (s.substr(0, 2) < "27") { buf[1] = 2; } else { buf[1] = 1; } for (int i = 2; i < len; i++) { if (s[i-1] == '0') { if (s[i] == '0') { return 0; } else { buf[i] = buf[i-1]; } } else if (s[i] == '0' && (s[i-1] != '1' && s[i-1] != '2')) { return 0; } else if (s.substr(i-1, 2) < "27") { if (s[i] == '0') { buf[i] = buf[i-2]; } else { buf[i] = buf[i-1] + buf[i-2]; } } else { buf[i] = buf[i-1]; } } return buf[len-1]; }};
0 0
- Decode Ways
- Decode Ways
- Decode Ways
- Decode Ways
- Decode Ways
- Decode Ways
- Decode Ways
- Decode Ways
- Decode Ways
- Decode Ways
- Decode Ways
- Decode Ways
- Decode Ways
- Decode ways
- Decode Ways
- Decode Ways
- Decode Ways
- Decode Ways
- VC++编写DLL供C#使用
- 比较有主见的学员,教练在教车过程中颇感困难
- php 计算两个文件的相对路径
- char 与varchar区别
- poj2464 Brownie Points II
- Decode Ways
- assert class pointer
- php 实现中文字串截取无乱码的方法
- iOS 相册取图方向不对的问题修复
- php OOP(面向对象)基本理论与知识点
- 高并发Web服务的演变——节约系统内存和CPU
- [Leetcode 48, medium] Rotate Image
- 黑马程序员-iOS视频学习之十一
- [Leetcode] 114. Flatten Binary Tree to Linked List