码迷,mamicode.com
首页 > 编程语言 > 详细

每日Leetcode-链表-算法-简单-删除链表中的节点

时间:2021-02-10 13:42:05      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:link   lin   常见   来源   开发   code   链接   href   一个   

题目备注:
1.链表至少包含两个节点
2.链表中所有节点的值都是唯一的
3.给定的节点为非末尾节点并且一定是链表中的一个有效节点
4.不要从你的函数中返回任何结果

方法:与下一个节点交换
从链表里删除一个节点 node 的最常见方法是修改之前节点的 next 指针,使其指向之后的节点。
因为,我们无法访问我们想要删除的节点之前的节点,我们始终不能修改该节点的 next 指针。相反,我们必须将想要删除的节点的值替换为它后面节点中的值,然后删除它之后的节点。
因为我们知道要删除的节点不是列表的末尾,所以我们可以保证这种方法是可行的。

对题目的反思:
由于ListNode是个单链表节点,而单链表节点本质上是无法做到在链表里删除自身的,所以这题只能通过这种替换的方式来伪造删除了节点。
这题会误导很多开发者,这题的设计模式更是不可取!
个人认为这题应该删除
而203. 移除链表元素这题才是真正的移除链表元素!
作者:AmazingPP
链接:https://leetcode-cn.com/problems/delete-node-in-a-linked-list/solution/tong-pi-ci-ti-li-ying-shan-chu-yin-chu-c-taij/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

每日Leetcode-链表-算法-简单-删除链表中的节点

标签:link   lin   常见   来源   开发   code   链接   href   一个   

原文地址:https://www.cnblogs.com/UjiMatca/p/14395293.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!