对于这种情况,我们不知道被删除节点的前一个节点,也就无法
node.next = node.next.next;
这样处理了。
于是我们只能改变链表中的值来实现这个操作了。
- 把当前要删除节点的下一个节点的值复制给当前节点
- 把当前要删除节点的下一个节点删除掉即可
public void deleteNode(ListNode node) {
//特殊情况判断
if(node==null ||node.next==null)
return;
//下一个节点的值赋值给当前值
node.val = node.next.val;
//删除下一个节点
node.next = node.next.next;
}