隣接ノードとのリストのペアごとの交換を考えると、交換にリストを返します。
あなたは、単に内部ノード値を変更しますが、実際のノード交換する必要がないことができます。
例:
1 - > 2 - > 3 - > 4を考えると、あなたは、2-> 1 - > 4 - > 3返す必要があります。
1つの パブリック クラスT24 { 2 3 公共ListNodeのswapPairs(ListNodeヘッド){ 4 であれば(ヘッド== NULL ){ 5 リターンヘッド。 6 } 7 ListNodeダミー= 新しい ListNode(-1 )。 8 dummy.next = ヘッド。 9 ListNode予備= ダミー。 10 11 12 ながら(ヘッド!= NULL && head.next!= NULL ){ 13 14 ListNode P1 = ヘッド。 15 ListNode P2 = head.next。 16 17 // 交換 18 pre.next = P2。 19 p1.next = p2.next。 20 p2.next = P1。 21 22 // 引き続き 23 プリ= P1。 24 ヘッド= pre.next。 25 26 } 27 リターンdummy.next。 28 29 } 30 }