237リンクされたリスト内のノードを削除します。
イージー
そのノードへのアクセスのみ与えられ、単独リンクリストに(尾を除く)のノードを削除する機能を記述します。
:ヘッド= [4,5,1,9]、以下のようになります - リンクリストを考えます
例1:
入力:ヘッド= [4,5,1,9]、ノードは= 5 出力:[4,1,9] 説明:あなたは値5と第2のノードが与えられ、リンクされたリストは、4になるはず- > 1 - > 9あなたの関数を呼び出した後。
例2:
入力:ヘッド= [4,5,1,9]、ノード= 1 出力:[4,5,9] 説明:あなたは値1と第3のノードが与えられ、リンクされたリストは、4になるはず- > 5 - > 9あなたの関数を呼び出した後。
注意:
- リンクされたリストには、少なくとも2つの要素を持つことになります。
- ノードの値のすべてがユニークになります。
- 指定されたノードは尾ではありません、それは常にリンクされたリストの有効なノードになります。
- あなたの関数から何も返さないでください。
パッケージleetcode.easy。 / ** *単一リンクリストのための定義。パブリッククラスListNode {int型のval; ListNode *次の; ListNode(INT X){ヴァル= X。}} * / パブリッククラスDeleteNodeInALinkedList { プライベート静的ボイドプリント(ListNodeヘッド){ IF(ヘッド== NULL){ 返します。 } ながら(!ヘッド= NULL){ System.out.print(head.val)。 (もし!head.next = NULL){ System.out.print( " - >"); } ヘッド= head.next。 } のSystem.out.println(); } 公共ボイドdeleteNode(ListNodeノード){ node.val = node.next.val。 node.next = node.next.next。 } @ org.junit.Test 公共ボイドTEST1(){ ListNode listNode1 =新しいListNode(4)。 ListNode listNode2 =新しいListNode(5)。 ListNode listNode3 =新しいListNode(1)。 ListNode listNode4 =新しいListNode(9)。 listNode1.next = listNode2。 listNode2.next = listNode3。 listNode3.next = listNode4。 listNode4.next = NULL; プリント(listNode1)。 deleteNode(listNode2)。 プリント(listNode1)。 } @ org.junit.Test 公共ボイドTEST2(){ ListNode listNode1 =新しいListNode(4)。 ListNode listNode2 =新しいListNode(5)。 ListNode listNode3 =新しいListNode(1)。 ListNode listNode4 =新しいListNode(9)。 listNode1.next = listNode2。 listNode2.next = listNode3。 listNode3.next = listNode4。 listNode4.next = NULL; プリント(listNode1)。 deleteNode(listNode3)。 プリント(listNode1)。 } }