C++ && Python simple and short solutions
C++ :\n\n\nListNode* middleNode(ListNode* head) {\n\tListNode* fast = head;\n\tListNode* slow = head;\n\n\twhile(fast && fast -> next)\n\t{\n\t\tslow = slow -> 
**C++ :**\n\n```\nListNode* middleNode(ListNode* head) {\n\tListNode* fast = head;\n\tListNode* slow = head;\n\n\twhile(fast && fast -> next)\n\t{\n\t\tslow = slow -> next;\n\t\tfast = fast -> next -> next;\n\t}\n\n\treturn slow;\n}\n```\n\n**Python :**\n\n```\ndef middleNode(self, head: Optional[ListNode]) -> Optional[ListNode]:\n\tfast, slow = head, head\n\n\twhile fast and fast.next:\n\t\tslow = slow.next\n\t\tfast = fast.next.next\n\n\treturn slow\n```\n\n**Like it ? please upvote !**
['Two Pointers', 'C', 'Python', 'Python3']