237. Delete Node in a Linked Lis

2020-01-14  本文已影响0人  Sczlog

237. Delete Node in a Linked List
Write a function to delete a node (except the tail) in a singly linked list, given only access to that node.

note:

虽说是Easy难度的题目,但是拿到手的时候看不到难度,第一反应却是这不可能做出来。
没有头节点来进行遍历,只有目标节点我如何拿到目标节点的上一个结点呢?
答案是转变思路,这里我们要做的不是直接将该节点从链表中摘除,而是删除目标节点的下一个节点,并把节点中的值和next赋给当前结点就行了。
简简单单两行代码就能做完的事,结果想了十五分钟。

var deleteNode = function(node) {
    node.val = node.next.val;
    node.next = node.next.next;
};

做完以后到题目的solution下面看了一下,看来被唬住的不止我一个。


image.png
上一篇 下一篇

猜你喜欢

热点阅读