Rust语言编程实例100题-035

Rust语言编程实例100题-035

题目:字符串反转练习,如将字符串 "i like rust!" 反转为"!tsur ekil i"。不允许使用rev方法。请自定义一个字符串反转函数,该函数不允许有返回值。但是经过该函数后,字符串会反转。

程序分析:定义一个没有返回值函数来反转字符串,那肯定要求参数是可变引用传值。

输出格式:!tsur ekil i

知识点:函数、所有权、借用、引用、字符串

fn main() {
    let mut s = String::from("i like rust!");
    reverse(&mut s);
    println!("{}", s);
}

fn reverse(s: &mut String) {
    let length = s.chars().count();
    for i in 0..length / 2 {
        let end_index = length - 1 - i;
        let cc = s.chars().nth(i).unwrap();
        let ec = s.chars().nth(end_index).unwrap();
        s.replace_range(i..i + 1, ec.to_string().as_str());
        s.replace_range(end_index..end_index + 1, cc.to_string().as_str());
    }
}

程序执行结果:

!tsur ekil i
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容