博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode 203. Remove Linked List Elements
阅读量:4098 次
发布时间:2019-05-25

本文共 1223 字,大约阅读时间需要 4 分钟。

题目:

Remove all elements from a linked list of integers that have value val.

Example

Given: 1 –> 2 –> 6 –> 3 –> 4 –> 5 –> 6, val = 6
Return: 1 –> 2 –> 3 –> 4 –> 5

思路:

给定一个链表,删除链表中所有的val值 。
具体思路见代码注释。

代码:

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode(int x) : val(x), next(NULL) {}* };*/class Solution {
public: ListNode* removeElements(ListNode* head, int val) { ListNode* newhead = new ListNode(0);//在head前设置一个新的节点(定点) newhead->next = head;//指向head ListNode* pre = newhead;//设置一个pre与newhead位置一样,用于移动比较 if (head == NULL){ //如果为空链表,直接返回NULL return NULL; } while (head->next != NULL){
//如果head之后还有值 if (pre->next->val == val){
//pre的下一个的值与val相等,相当于是head的值与val相等,删除head pre->next = head->next; ListNode* tmp = head; head = head->next; delete tmp; } else{
//不相等,直接后移 pre = head; head = head->next; } } if (head->val == val){
//如果head为最后一个值,进行判断,如果相等,则删除 pre->next = NULL; delete head; } return newhead->next; }};

转载地址:http://rsmii.baihongyu.com/

你可能感兴趣的文章
9 款你不能错过的 JSON 工具
查看>>
就在昨天,全球 42 亿 IPv4 地址宣告耗尽!
查看>>
200页!分享珍藏很久的Python学习知识手册(附链接)
查看>>
程序员之神
查看>>
4 岁小女孩给 Linux 内核贡献提交
查看>>
推荐几个私藏很久的技术公众号给大家
查看>>
20 个 2020 年软件开发趋势预测
查看>>
王垠受邀面试阿里 P9,被 P10 面跪后网上怒发文,惨打 325 的 P10 赵海平回应了!...
查看>>
Python 趣味打怪:147 段简单代码助你从入门到大师
查看>>
卧槽!小姐姐用动画图解 Git 命令,这也太秀了吧?!
查看>>
厉害了!Python 编辑器界的神器 Jupyter ,推出官方可视化 Debug 工具!
查看>>
卧槽!Java 虚拟机竟然还有这些性能调优技巧...
查看>>
听说玩这些游戏能提升编程能力?
查看>>
7 年工作经验,面试官竟然还让我写算法题???
查看>>
被 Zoom 逼疯的歪果仁,造出了视频会议机器人,同事已笑疯丨开源
查看>>
上古语言从入门到精通:COBOL 教程登上 GitHub 热榜
查看>>
再见,Eclipse...
查看>>
超全汇总!B 站上有哪些值得学习的 AI 课程...
查看>>
如果你还不了解 RTC,那我强烈建议你看看这个!
查看>>
神器面世:让你快速在 iOS 设备上安装 Windows、Linux 等操作系统!
查看>>