Skip to content

Commit cb8e1b1

Browse files
committed
Kotlin: 91. Decode Ways
1 parent 18ee23d commit cb8e1b1

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

kotlin/91-Decode-Ways.kt

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
class Solution {
2+
fun numDecodings(s: String): Int {
3+
val n = s.length
4+
val dp = IntArray(n+1)
5+
dp[0] = 1
6+
dp[1] = if (s[0] == '0') 0 else 1
7+
8+
for (i in 2..n) {
9+
val curr = s[i-1] - '0'
10+
val prev = s[i-2] - '0'
11+
val num = 10*prev + curr
12+
13+
if (curr > 0)
14+
dp[i] += dp[i-1]
15+
16+
if (num >= 10 && num <= 26)
17+
dp[i] += dp[i-2]
18+
}
19+
20+
return dp[n]
21+
}
22+
}

0 commit comments

Comments
 (0)