Leetcode——237. 删除链表中的节点(Java)

Leetcode——237. 删除链表中的节点(Java)
Leetcode——237. 删除链表中的节点(Java)
刚开始看到这个题目的时候,考虑的就是找到该节点的前一个节点pre,用pre.next = node.next;然后一看题目的解题区,既没给输入的数组,也没给head,就是node
然后看了题解,题解说用“与下一节点交换”的方法,其实理解起来这个题真的挺简单的,因为给出的节点一定不是末尾节点,因此一定ok
为了更好理解,画了一个图
Leetcode——237. 删除链表中的节点(Java)
代码如下:

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
	//我理解的,其实就是把这个节点的下一个节点往前挪
    public void deleteNode(ListNode node) {
    	//将下一个节点的值传给当前节点node
        node.val = node.next.val;
        //接下来相当于把下一节点删除																																					
        node.next = node.next.next;
    }
}