Rust - reverse string
- chars
- rev
- collect
This is a simple, and apparently partially incorrect solution. There is a crate called unicode_reverse for doing it right.
fn main() {
let texts = [
String::from("Hello"),
String::from("Abc"),
String::from("שלום"),
];
for text in texts {
let reversed = reverse(&text);
let original = reverse(&reversed);
println!("{text:6} - {reversed:6} - {original:6}");
}
}
fn reverse(text: &str) -> String {
let reversed: String = text.chars().rev().collect();
reversed
}
Hello - olleH - Hello
Abc - cbA - Abc
שלום - םולש - שלום