导航网站移动端流量占比wordpress 列表页文章数
2026/3/31 18:41:29 网站建设 项目流程
导航网站移动端流量占比,wordpress 列表页文章数,Thinkphp网站开发实例,大连网站制作师题目描述有一个单链表的 head#xff0c;我们想删除它其中的一个节点 node。给你一个需要删除的节点 node 。你将 无法访问 第一个节点 head。链表的所有值都是 唯一的#xff0c;并且保证给定的节点 node 不是链表中的最后一个节点。删除给定的节点。注意#xff0c;删除节…题目描述有一个单链表的head我们想删除它其中的一个节点node。给你一个需要删除的节点node。你将无法访问第一个节点head。链表的所有值都是唯一的并且保证给定的节点node不是链表中的最后一个节点。删除给定的节点。注意删除节点并不是指从内存中删除它。这里的意思是给定节点的值不应该存在于链表中。链表中的节点数应该减少 1。node前面的所有值顺序相同。node后面的所有值顺序相同。自定义测试对于输入你应该提供整个链表head和要给出的节点node。node不应该是链表的最后一个节点而应该是链表中的一个实际节点。我们将构建链表并将节点传递给你的函数。输出将是调用你函数后的整个链表。示例 1输入head [4,5,1,9], node 5输出[4,1,9]解释指定链表中值为 5 的第二个节点那么在调用了你的函数之后该链表应变为 4 - 1 - 9示例 2输入head [4,5,1,9], node 1输出[4,5,9]解释指定链表中值为 1 的第三个节点那么在调用了你的函数之后该链表应变为 4 - 5 - 9提示链表中节点的数目范围是[2, 1000]-1000 Node.val 1000链表中每个节点的值都是唯一的需要删除的节点node是链表中的节点且不是末尾节点解决方案这段代码的核心功能是删除单链表中指定的节点注意传入的参数是待删除的节点本身而非链表头节点或待删除节点的前驱节点采用 “值覆盖 跳过后继节点” 的技巧实现时间复杂度O(1)、空间复杂度O(1)是该特殊场景下的最优解法。核心逻辑常规删除链表节点需要找到前驱节点但本题仅给出待删除节点且该节点非尾节点因此通过 “偷梁换柱” 的方式绕开前驱节点值覆盖将待删除节点node的值替换为其下一个节点node-next的值跳过节点将node的next指针指向node-next-next直接跳过原node-next节点最终效果等价于删除了原node节点原node-next节点变为无引用状态可被垃圾回收。总结核心思路利用 “值覆盖” 替代常规的 “指针调整”解决无前驱节点时删除指定节点的问题适用条件仅适用于待删除节点不是链表尾节点的场景题目通常会保证这一点效率优势无需遍历链表仅两步操作完成删除时间复杂度O(1)是该场景下的最优解。函数源码/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: void deleteNode(ListNode* node) { node-valnode-next-val; node-nextnode-next-next; } };

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询