Python Simple Solution Explained (video + code)
https://www.youtube.com/watch?v=To_uAJRu8NQ\n\n\n# Definition for singly-linked list.\n# class ListNode:\n#     def __init__(self, val=0, next=None):\n#        
https://www.youtube.com/watch?v=To_uAJRu8NQ\n[](https://www.youtube.com/watch?v=To_uAJRu8NQ)\n```\n# Definition for singly-linked list.\n# class ListNode:\n#     def __init__(self, val=0, next=None):\n#         self.val = val\n#         self.next = next\nfrom collections import deque\nclass Solution:\n    def reorderList(self, head: ListNode) -> None:\n        """\n        Do not return anything, modify head in-place instead.\n        """\n        if not head:\n            return\n        \n        q = deque()\n        node = head\n        while True:\n            node = node.next\n            if not node:\n                break\n            q.append(node)\n        \n        while q:\n            if head:\n                temp = q.pop()\n                head.next = temp\n                head = head.next\n            \n            if head and q:\n                temp = q.popleft()\n                head.next = temp\n                head = head.next\n                \n        head.next = None\n```
['Linked List', 'Python', 'Python3']