diff options
Diffstat (limited to 'middle_linked_list.rs')
-rw-r--r-- | middle_linked_list.rs | 28 |
1 files changed, 0 insertions, 28 deletions
diff --git a/middle_linked_list.rs b/middle_linked_list.rs deleted file mode 100644 index ed84409..0000000 --- a/middle_linked_list.rs +++ /dev/null @@ -1,28 +0,0 @@ -#[derive(PartialEq, Eq, Clone, Debug)] -struct Solution; -pub struct ListNode { - pub val: i32, - pub next: Option<Box<ListNode>> -} - -impl ListNode { - #[inline] - fn new(val: i32) -> Self { - ListNode { - next: None, - val - } - } -} - -impl Solution { - pub fn middle_node(head: Option<Box<ListNode>>) -> Option<Box<ListNode>> { - let mut curr = &head; - let mut node_vec: Vec<Option<Box<ListNode>>> = vec![]; - while let Some(node) = curr.as_ref() { - node_vec.push(Some(node.clone())); - curr = &curr.as_ref().unwrap().next; - } - node_vec[node_vec.len() / 2].clone() - } -} |