赞
踩
题目:
题解:
- func numDecodings(s string) int {
- n := len(s)
- // a = f[i-2], b = f[i-1], c = f[i]
- a, b, c := 0, 1, 0
- for i := 1; i <= n; i++ {
- c = 0
- if s[i-1] != '0' {
- c += b
- }
- if i > 1 && s[i-2] != '0' && ((s[i-2]-'0')*10+(s[i-1]-'0') <= 26) {
- c += a
- }
- a, b = b, c
- }
- return c
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。