2023-02-22 16:40阅读: 15评论: 0推荐: 0

《剑指Offer》-18-删除链表的节点

这不就,真是删除链表节点的基操

ListNode* deleteNode(ListNode* head, int val) {
// 需要额外考虑的是删除 头节点、尾节点 的特殊情况
ListNode* virtual_head = new ListNode();
virtual_head->next = head;
// 尽量避免直接修改原指针
ListNode* ptr1 = head, *ptr2 = virtual_head;
while (ptr1) {
if (ptr1->val == val) {
ptr2->next = ptr1->next;
break;
}
ptr2 = ptr1;
ptr1 = ptr1->next;
}
return virtual_head->next;
}

看起来时间效率有点差

本文作者:YaosGHC

本文链接:https://www.cnblogs.com/yaocy/p/17144982.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   YaosGHC  阅读(15)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起