我的LeetCode代码仓:https://github.com/617076674/LeetCode
原题链接:https://leetcode-cn.com/problems/delete-node-in-a-linked-list/description/
题目描述:
知识点:链表
思路:用下一个节点的值替换当前节点的值,再删除下一个节点即可
众所周知,想删除链表中的一个节点,必须得到其前一个节点。而题目只给出了当前节点,无法得到其前一个节点的信息,因此我们只能用下一个节点的值替换当前节点的值,再删除下一个节点。
时间复杂度和空间复杂度均是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解题报告: