206リバースリンク一覧
イージー
単独リンクリストを逆にします。
例:
入力:1-> 2-> 3-> 4-> 5-> NULLの 出力:5-> 4-> 3-> 2-> 1-> NULL
ファローアップ:
リンクリストは、いずれかの繰り返しや再帰的に反転させることができます。あなたは両方を実装してもらえますか?
パッケージleetcode.easy。 パブリッククラスReverseLinkedList { プライベートの静的な無効印刷(ListNodeヘッド){ 場合(ヘッド== NULL){ 返します。 } ながら(!ヘッド= NULL){ System.out.print(head.val)。 (もし!head.next = NULL){ System.out.print( " - >"); } ヘッド= head.next。 } のSystem.out.println( " - > NULL")。 } 公共ListNode reverseList(ListNodeヘッド){ ListNode NEXTNODE = NULL; ListNode CURR =ヘッド。 (!CURR = NULL){一方 ListNode tempNext = curr.next。 curr.next = NEXTNODE。 NEXTNODE = CURR。 CURR = tempNext。 } NEXTNODEを返します。 } org.junit.Test @ 公共ボイド試験(){ ListNode LN1 =新しいListNode(1)。 ListNode LN2 =新しいListNode(2)。 ListNode LN3 =新しいListNode(3)。 ListNode LN4 =新しいListNode(4)。 ListNode LN5 =新しいListNode(5)。 ln1.next = LN2。 ln2.next = LN3。 ln3.next = LN4。 ln4.next = LN5。 ln5.next = NULL; プリント(LN1)。 プリント(reverseList(LN1))。 } }