rustgym 0.2.0

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

impl Solution {
    fn reverse_list(head: ListLink) -> ListLink {
        let mut p = head;
        let mut prev = None;
        while let Some(mut node) = p {
            p = node.next;
            node.next = prev;
            prev = Some(node);
        }
        prev
    }
}

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