一、题目


二、思路
该题中链表节点的值都是唯一的,且只给出待删除的节点 node,而没有给出 head,显然是不可以遍历链表找到相应值来进行删除节点的。注意到题目只要求给定节点的值不在链表中,且链表节点个数减少一个即可,并非严格要求删除给定节点。那么可以采用“狸猫换太子”的思路,将 node 下一个节点的值赋给 node,再将 node 的下一节点删除即可。

三、代码
/**
* 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.val = node.next.val;
node.next = node.next.next;
}
}
416

被折叠的 条评论
为什么被折叠?



