LeetCode_237。リンクされたリスト内のノードを削除します。

 

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)。
	} 
}

 

おすすめ

転載: www.cnblogs.com/denggelin/p/11757855.html