2020-04-10 吴亲库里 库里的深夜食堂
写一个方法,删除链表中的节点,仅仅对该节点有访问权限.什么意思?也就是说,在这个节点之前的节点信息你是看不到的,而且此链表是个单项链表 题目也说明了节点不会是列表的末尾节点
****
和往常不太一样,之前删除链表中的节点的时候都会传入头结点,和一个要删除的节点值.然后我们需要把待删除节点的上一个节点的next指针指向待删除的节点的next节点,由于我们现在并不知道待删除节点的上一个节点,因此这种做法就失效了.其实解题思路就是把当前这个要删除的节点的值改成下一个节点的值,然后把当前结点的next指针指向下下一个结点就行了.可以思考一下
/**
* Definition for a singly-linked list.
* class ListNode {
* public $val = 0;
* public $next = null;
* function __construct($val) { $this->val = $val; }
* }
*/
class Solution {
/**
* @param ListNode $node
* @return
*/
function deleteNode($node) {
$node->val=$node->next->val;
$node->next=$node->next->next;
}
}