您的位置:首页 > 其它

Leetcode no. 91

2016-06-22 11:17 155 查看
91. Decode Ways

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.

public class Solution {
public int numDecodings(String s) {
if (s.length() ==0 || s.charAt(0)== '0') return 0;
int prev= 1, pprev= 1;
for (int i = 1; i < s.length(); i++) {
if (s.charAt(i)=='0') prev=0;
if (s.charAt(i-1)=='1' || (s.charAt(i-1)=='2' && s.charAt(i)-'0'<=6)) {
int tmp = prev;
prev+= pprev;
pprev= tmp;
} else pprev= prev;
}
return prev;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: