1. 程式人生 > >LeetCode203移除連結串列元素C語言版

LeetCode203移除連結串列元素C語言版

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */
struct ListNode* removeElements(struct ListNode* head, int val) {
    struct ListNode *p;
    if(head == NULL)
        return 0;
    while(head != NULL && head->val == val)
        head = head->next;
    if(head == NULL)
        return 0;
    p = head;
    while(p->next != NULL)
    {
        if(p->next->val == val)
           p->next = p->next->next;
        else
            p = p->next;
    }
    return head;
}