算法
dna_to_rna(“GCAT”) //=> “GCAU”
即把输入字符T转成U,或相反。
这题非常容易,但放在这儿,主要是想提示一下,rust有两种模式的解法。
非replace模式:
1、
fn dna_to_rna(dna: &str) -> String {
dna.chars().map(|c| match c {'T' => 'U', k => k}).collect()
}
2、
fn dna_to_rna(dna: &str) -> String {
dna.split("T").collect::<Vec<&str>>().join("U")
}
3、
fn dna_to_rna(dna: &str) -> String {
dna.chars()
.into_iter()
.map(|x| match x {
'T' => return "U".to_string(),
'U' => return "T".to_string(),
_ => return x.to_string(),
})
.collect::<Vec<String>>()
.concat()
}
replace模式
1、
fn dna_to_rna(dna: &str) -> String {
dna.replace("T", "U")
}
2、
fn dna_to_rna(dna: &str) -> String {
str::replace(dna, "T", "U").to_string()
}
3、
fn dna_to_rna(dna: &str) -> String {
dna.to_string().replace("T", "U")
}