LeetCode_237. Delete Node in a Linked List

心已入冬 提交于 2019-12-02 18:31:02

 

237. Delete Node in a Linked List

Easy

Write a function to delete a node (except the tail) in a singly linked list, given only access to that node.

Given linked list -- head = [4,5,1,9], which looks like following:

 

Example 1:

Input: head = [4,5,1,9], node = 5  Output: [4,1,9]  Explanation: You are given the second node with value 5, the linked list should become 4 -> 1 -> 9 after calling your function.  

Example 2:

Input: head = [4,5,1,9], node = 1  Output: [4,5,9]  Explanation: You are given the third node with value 1, the linked list should become 4 -> 5 -> 9 after calling your function.  

 

Note:

  • The linked list will have at least two elements.
  • All of the nodes' values will be unique.
  • The given node will not be the tail and it will always be a valid node of the linked list.
  • Do not return anything from your function.

 

package leetcode.easy;    /**   * Definition for singly-linked list. public class ListNode { int val; ListNode   * next; ListNode(int x) { val = x; } }   */  public class DeleteNodeInALinkedList {  	private static void print(ListNode head) {  		if (head == null) {  			return;  		}  		while (head != null) {  			System.out.print(head.val);  			if (head.next != null) {  				System.out.print("->");  			}  			head = head.next;  		}  		System.out.println();  	}    	public void deleteNode(ListNode node) {  		node.val = node.next.val;  		node.next = node.next.next;  	}    	@org.junit.Test  	public void test1() {  		ListNode listNode1 = new ListNode(4);  		ListNode listNode2 = new ListNode(5);  		ListNode listNode3 = new ListNode(1);  		ListNode listNode4 = new ListNode(9);  		listNode1.next = listNode2;  		listNode2.next = listNode3;  		listNode3.next = listNode4;  		listNode4.next = null;  		print(listNode1);  		deleteNode(listNode2);  		print(listNode1);  	}    	@org.junit.Test  	public void test2() {  		ListNode listNode1 = new ListNode(4);  		ListNode listNode2 = new ListNode(5);  		ListNode listNode3 = new ListNode(1);  		ListNode listNode4 = new ListNode(9);  		listNode1.next = listNode2;  		listNode2.next = listNode3;  		listNode3.next = listNode4;  		listNode4.next = null;  		print(listNode1);  		deleteNode(listNode3);  		print(listNode1);  	}  }  

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!