LeetCode237——删除链表中的节点

我的LeetCode代码仓:https://github.com/617076674/LeetCode

原题链接:https://leetcode-cn.com/problems/delete-node-in-a-linked-list/description/

题目描述:

LeetCode237——删除链表中的节点

知识点:链表

思路:用下一个节点的值替换当前节点的值,再删除下一个节点即可

众所周知,想删除链表中的一个节点,必须得到其前一个节点。而题目只给出了当前节点,无法得到其前一个节点的信息,因此我们只能用下一个节点的值替换当前节点的值,再删除下一个节点。

时间复杂度和空间复杂度均是O(1)。

JAVA代码:

public class Solution {
    public void deleteNode(ListNode node) {
		ListNode nextNode = node.next;
		node.val = nextNode.val;
		node.next = nextNode.next;
		nextNode.next = null;
    }
}

LeetCode解题报告:

LeetCode237——删除链表中的节点