blob: 49fa320dc93d18dca548d55f178f740371cb4249 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#!/bin/sh
//usr/bin/env rustc --test $0 -o kachow && ./kachow --nocapture; rm -f kachow ; exit
fn replace(s: &str) -> String {
let mut res: Vec<char> = s.chars().collect();
let n = res.len();
for i in 0..n {
if res[i] == '?' {
for c in 'a'..='z' {
if (i == 0 || res[i - 1] != c) && (i == n - 1 || res[i + 1] != c) {
res[i] = c;
break;
}
}
}
}
res.into_iter().collect()
}
#[test]
fn example() {
assert_eq!(replace("a?z"), "abz");
assert_eq!(replace("pe?k"), "peak");
assert_eq!(replace("gra?te"), "grabte");
}
|