Sep 02, 2018 原创文章

  Leetcode 91. Decode Ways

LeetCode 第91题的解题方法

分享到: 0

请保证您的浏览器支持MathJax插件,以免数学公式无法显示

问题描述

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).


class Solution {
public:
    int numDecodings(string s) {
	if (s.empty() || '0' == s.front()) {
            return 0;
        }
	vector <int> comb(1, 1);
	for (int i = 0; i < s.size(); i++)
	{
		if (num % 10 == 0 ||num == 0)
		{
			if (num == 0 || num > 20)
			{
				return 0;
			}
			else
			{
				comb.push_back(comb[i - 1]);
			}
		}
		else
		{
			if (num >= 10 && num <= 26 && num % 10 != 0&&s[i] != '0')
			{
				comb.push_back(comb[i - 1] + comb[i]);
			}
			else
			{
				comb.push_back(comb[i]);
			}
		}
	} 
	return comb.back();
	}};

打赏


感谢您的支持,我会继续努力的!

扫码支持

长按识别二维码或打开支付宝扫一扫 完成打赏
或 使用<支付宝链接>打赏


关闭

分享到: 0