【剑指Offer】删除链表的节点
发布日期:2022-02-10 08:55:13
浏览次数:34
分类:技术文章
本文共 863 字,大约阅读时间需要 2 分钟。
题目
给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。
返回删除后的链表的头节点。
注意:此题对比原题有改动
思路
最简单的链表删除,要用一个指针记录上一次的节点,然后注意删除的是头结点的情况,为了减少时间,删除以后立即跳出循环。
代码
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* deleteNode(ListNode* head, int val) { if(head == NULL){ return NULL; } if(head->val == val){ if(head->next == NULL){ return NULL; }else{ return head->next; } } ListNode* p = head->next; ListNode* pLast = head; while(p != NULL){ if(p->val == val){ pLast->next = p->next; break; } pLast = p; p = p->next; } return head; }};
转载地址:https://blog.csdn.net/hanmin822/article/details/105595806 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
不错!
[***.144.177.141]2024年05月06日 04时02分37秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
剑指offer:二叉搜索树的后序遍历序列(java)
2019-05-03
剑指offer:二叉树中和为某一值的所有路径(java)
2019-05-03
剑指offer:复杂链表的复制(java)
2019-05-03
剑指offer:二叉搜索树与双向链表(java)
2019-05-03
剑指offer:字符串的排列(java)
2019-05-03
剑指offer:字符串的组合(java)
2019-05-03
剑指offer:数组中出现次数超过一半的数字(java)
2019-05-03
实时开发框架Meteor API解读系列<二>Core
2019-05-03
实时开发框架Meteor API解读系列<六> DDP
2019-05-03
实时开发框架Meteor 实际应用系列<一>---文件的上传和下载[补充]
2019-05-03
实时开发框架Meteor API解读系列<七> Collection --01
2019-05-03
启用fcitx-qimpanel面板程序
2019-05-03
浅谈Q的基本实现
2019-05-03
iOS开发——cache自动清理方案探索
2019-05-03
阿里云短信服务(JAVA)
2019-05-03
std::exception标准和各平台实现的不同
2019-05-03
C++的匿名对象
2019-05-03
C++中class和typename的区别
2019-05-03
C++常量表达式、const、constexpr(C++11新增)的区别
2019-05-03
Windows和Linux进程与线程的区别
2019-05-03