Rust 🦀
\nimpl Solution {\n    pub fn middle_node(mut head: Option<Box<ListNode>>) -> Option<Box<ListNode>> {\n        let mut ptr = head.clone();\n\n        while ptr.
```\nimpl Solution {\n    pub fn middle_node(mut head: Option<Box<ListNode>>) -> Option<Box<ListNode>> {\n        let mut ptr = head.clone();\n\n        while ptr.is_some() && ptr.as_ref()?.next.is_some() {\n            ptr = ptr.unwrap().next.unwrap().next;\n            head = head.unwrap().next;\n        }\n\n        head\n    }\n}\n```
[]