203. Remove Linked List Elements
来源:互联网 发布:淘宝冻结账户开通 编辑:程序博客网 时间:2024/05/21 21:48
Remove all elements from a linked list of integers that have value val.
删除整数链表中所有值为val 的元素
Example
Given: 1 --> 2 --> 6 --> 3 --> 4 --> 5 --> 6, val = 6
Return: 1 --> 2 --> 3 --> 4 --> 5
删除节点分两种情况:如果待删除元素是头结点,则head指针要后移,如果是中间节点,则正常删除单链表节点。
所以使用两个while循环,先进行处理头结点,再处理中间节点,遍历一次链表即可完成删除操作。
/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */struct ListNode* removeElements(struct ListNode* head, int val) { struct ListNode *p,*q; while(head!=NULL&&head->val==val) //删除头结点 { p=head; head=head->next; free(p); } if(head!=NULL) //删除中间节点 { p=head; while(p->next!=NULL) { if(p->next->val==val) { q=p->next; p->next=p->next->next; free(q); } else p=p->next; } } return head;}
0 0
- 203. Remove Linked List Elements(Linked List)
- 203. Remove Linked List Elements
- 203. Remove Linked List Elements
- 203. Remove Linked List Elements
- 203. Remove Linked List Elements
- 203. Remove Linked List Elements
- 203. Remove Linked List Elements
- 203. Remove Linked List Elements
- 203. Remove Linked List Elements
- 203. Remove Linked List Elements
- 203. Remove Linked List Elements
- 203. Remove Linked List Elements
- 203. Remove Linked List Elements
- 203. Remove Linked List Elements
- 203. Remove Linked List Elements
- 203. Remove Linked List Elements
- 203. Remove Linked List Elements
- 203. Remove Linked List Elements
- JavaScript: missing ) after argument list,js获取s:property值的问题
- 数据分析基础
- 链表的相关操作
- [PAT] B1038
- 斯坦福公开课Machine Learning笔记(十)--Mixtures of Gaussians and EM algorithm
- 203. Remove Linked List Elements
- Mybatis传多个参数(三种解决方案
- NOIP2007 树网的核 [dfs] [数据结构] [树的直径]
- Java垃圾收集机制
- bzoj2669: [cqoi2012]局部极小值
- [18] Vijos P1845 花匠(贪心)
- 如何上传本地代码到github上
- ubuntu14.04配置Tensorflow环境
- 大写字符移位_腾讯实习编程题