件名の説明:
この方法の一つ:
クラスのソリューション(オブジェクト): DEF :reorderList(自己、頭) "" " :型ヘッド:ListNode :RTYPE:なし、何も返さない代わりに、その場で頭を変更しないでください 。""" P = ヘッド L = [] ながら、P : l.append(P) P = p.next N = LEN(L) 用の I における範囲(N // 2 ): L [i]は.next = 1 [NI-1 ] 、L [N -i-1] .next = 1 [I + 1 ] もし N> 0: L [N //2].next =なし
方法2:
クラスのソリューション(オブジェクト): DEF :reorderList(自己、頭) 「」「 :型ヘッド:ListNode :RTYPE:なしではなく、何も返さないインプレースヘッドを変更しないでください。 『』」 もし ないヘッド: リターン・ヘッド ダミー = ListNode (0) dummy.next = ヘッド 速い、遅い = 頭部、頭 ながら迅速かつfast.next: 高速 = fast.next.next 遅い = slow.next CUR =slow.next slow.next = なし 、P = なし ながらCUR: next_cur = cur.next cur.next = P P = CUR CUR = next_cur 予備 = ヘッド ながらP: TEM = pre.next pre.next = P tem2 = P。次 p.next = TEMの 前 =TEM用 のp = tem2の リターンdummy.next