本文共 364 字,大约阅读时间需要 1 分钟。
本题与一般的删除链表节点不太一样,一般删除链表节点都是给定头节点,和要删除的节点,而本题只给要删除的节点。
如原始节点为:2—>5—>4—>7—>9,删除节点为5,也就是要删除第2个节点。
1、要删除节点一定不是尾节点。
2、链表中至少包含2个节点。 3、链表中节点的值都是唯一的。 4、删除节点不强制要求删除节点所在的内存地址。本题难点在于,因为是单向链表,所以如果不给定头节点,也就意味着无法找到当前节点的前一个节点,所以需要转换思路,根据条件提示,其实我们只需要替换值即可,最终代码如下:
public void deleteNode(ListNode node) { node.val = node.next.val; node.next = node.next.next;}
转载地址:http://jhlrb.baihongyu.com/