fn main() { println!("Hello, world!"); let tests = [ ("abcdefg", 2, "bacdfeg"), ("abcd", 2, "bacd") ]; for test in tests { println!("{:?} {} is {:?} should be {:?}", test.0, test.1, Solution::reverse_str(test.0.to_string(), test.1), test.2); } } struct Solution; impl Solution { pub fn reverse_str(mut s: String, k: i32) -> String { unsafe { s.as_bytes_mut() }.chunks_mut(k as usize).step_by(2).for_each(|x| x.reverse()); s } }