Skip to content

Commit ad7d027

Browse files
committed
update
1 parent 18fbd56 commit ad7d027

File tree

2 files changed

+24
-1
lines changed

2 files changed

+24
-1
lines changed

src/decode_ways.rs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
use std::collections::HashMap;
2+
pub struct Solution {}
3+
impl Solution {
4+
pub fn num_decodings(s: String) -> i32 {
5+
let s: Vec<char> = s.chars().collect();
6+
let (mut d1, mut d2, mut d3) = (0, 1, 0);
7+
for i in (0..s.len() as i32 - 1).rev() {
8+
if s[i as usize] != '0' {
9+
d1 += d2;
10+
}
11+
if i as usize + 1 < s.len()
12+
&& (s[i as usize] == '1'
13+
|| s[i as usize] == '2' && s[i as usize + 1].to_digit(10).unwrap() <= 6)
14+
{
15+
d2 += d3;
16+
}
17+
d3 = d2;
18+
d2 = d1;
19+
d1 = 0;
20+
}
21+
d2
22+
}
23+
}

src/main.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
mod palindromic_substrings;
1+
mod decode_ways;
22
fn main() {}

0 commit comments

Comments
 (0)