1 2 3 4 5 6 7 8 9 10 11 12
pub fn intersperse<T>(slice: &[T], sep: T) -> Vec<T> where T: Clone, { let mut result = vec![sep.clone(); slice.len() * 2 + 1]; result .iter_mut() .step_by(2) .zip(slice.iter()) .for_each(|(r, s)| *r = s.clone()); result }