rustgym 0.2.0

rustgym solutions
Documentation
struct Solution;
use rustgym_util::*;

impl Solution {
    fn remove_nth_from_end(mut head: ListLink, n: i32) -> ListLink {
        let mut v: Vec<ListLink> = vec![];
        while let Some(mut node) = head {
            head = node.next.take();
            v.push(Some(node));
        }
        let mut res = None;
        for (i, link) in v.into_iter().rev().enumerate() {
            if i != (n - 1) as usize {
                let mut node = link.unwrap();
                node.next = res;
                res = Some(node);
            }
        }
        res
    }
}

#[test]
fn test() {
    let head = list![1, 2, 3, 4, 5];
    let res = list![1, 2, 3, 5];
    let n = 2;
    assert_eq!(Solution::remove_nth_from_end(head, n), res);
}