您的位置:首页 > 其它

[LeetCode]Remove Linked List Elements

2015-10-15 17:42 316 查看
题目:将给定的值从单链表中删除

分析:注意将删除的节点释放空间

C语言参考代码:

/**

* Definition for singly-linked list.

* struct ListNode {

* int val;

* struct ListNode *next;

* };

*/

struct ListNode* removeElements(struct ListNode* head, int val) {

if(head==NULL)

return NULL;

struct ListNode* p,*q,*result;

p=head;

while(p&&p->val==val)

{

q=p;

p=p->next;

free(q);

}

result=p;

while(p)

{

if(p->next&&p->next->val==val)

{

q=p->next;

p->next=q->next;

free(q);

continue;

}

p=p->next;

}

return result;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: