这道题把我给看懵了,我还以为给个List然后再删除中间的某个值的节点,后来查了下,才发现他给的是需要输出的节点的值。
因为是需要删除的值,按照正常的思路是找到给点的前一个节点,但是因为这题没法找到他的前一个节点,所以,只能把后面的一个值,保存到当前节点,覆盖需要删除的节点值,然后把下一个节点覆盖则完成了删除。
/**
* 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;
}
}