class Solution: def middleNode(self, head: Optional[ListNode]) -> Optional[ListNode]: slow = fast = head while fast and fast.next: slow = slow.next fast = fast.next.next return slow def reverseList(self, head: Optional[ListNode]) -> Optional[ListNode]: pre, cur = None, head while cur: nxt = cur.next cur.next = pre pre = cur cur = nxt return pre def reorderList(self, head: Optional[ListNode]) -> None: mid = self.middleNode(head) head2 = self.reverseList(mid) while head2.next: nxt = head.next nxt2 = head2.next head.next = head2 head2.next = nxt head = nxt head2 = nxt2
点赞 评论

相关推荐

点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务