您的位置:首页 > 其它

Rust: codewars的DNA to RNA Conversion

2017-10-07 14:48 323 查看
算法

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")
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: