LeeCode 删除单链表中的某一特定值元素

来源:互联网 发布:顺丰科技java招聘 编辑:程序博客网 时间:2024/06/05 19:18

题目:

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

Credits:
Special thanks to @mithmatt for adding this problem and creating all test cases.

C代码:

/*struct ListNode{     int val;     struct ListNode *next;};*/ struct ListNode* removeElements(struct ListNode* head, int val) {    if(NULL == head) return head;    struct ListNode *p=head;     struct ListNode *pre=NULL;     while(NULL != p){        if(p->val == val){            struct ListNode *del =p;            p=p->next;            if(NULL!= pre){                  pre->next=p;            }else{                head=p;            }            free(del);        } else{            pre=p;            p=p->next;        }    }    return head;}


0 0
原创粉丝点击