码迷,mamicode.com
首页 > 其他好文 > 详细

【Leetcode】Decode Ways (DP)

时间:2014-11-12 13:51:56      阅读:297      评论:0      收藏:0      [点我收藏+]

标签:style   color   ar   os   java   sp   for   on   bs   

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.

curNum:代表当前数的解码数量

num2: 前一个数的解码数量

num1: 前两个数的解码数量

    public int numDecodings(String s) {
		if (s == null || s.length() == 0 || s.charAt(0) == '0')
			return 0;
		int num1 = 1;
		int num2 = 1;
		int curNum = 1;

		for (int i = 1; i < s.length(); i++) {
			if (s.charAt(i) == '0') {
				if (s.charAt(i-1) == '1' || s.charAt(i-1) == '2')
					curNum = num1;
				else
					return 0;
			}
			else {
			    if(s.charAt(i-1)=='1'||s.charAt(i-1)=='2'&&s.charAt(i)>='1'&&s.charAt(i)<='6')
			        curNum = num1+num2;
			    else
			        curNum = num2;
			}
			num1=num2;
			num2=curNum;
		}
		return curNum;
	}


【Leetcode】Decode Ways (DP)

标签:style   color   ar   os   java   sp   for   on   bs   

原文地址:http://blog.csdn.net/yexiao123098/article/details/41041769

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!