leetcode_rust/
reverse_string.rs1#![allow(dead_code)]
2
3pub fn reverse_string(s: &mut Vec<char>) {
5 if s.len() < 2 {
6 return;
7 }
8 let mut i = 0;
9 let mut j = s.len() - 1;
10 while i < j {
11 s.swap(i, j);
12 i += 1;
13 j -= 1;
14 }
15}
16
17pub fn reverse_string2(s: &mut Vec<char>) {
18 s.reverse();
19}
20
21#[cfg(test)]
22mod tests {
23 use super::*;
24
25 #[test]
26 fn test1() {
27 let mut s = vec!['h', 'e', 'l', 'l', 'o'];
28 reverse_string(&mut s);
29 assert_eq!(s, vec!['o', 'l', 'l', 'e', 'h']);
30 }
31
32 #[test]
33 fn test2() {
34 let mut s = vec!['h', 'e', 'l', 'l', 'o'];
35 reverse_string2(&mut s);
36 assert_eq!(s, vec!['o', 'l', 'l', 'e', 'h']);
37 }
38}