203. Remove Linked List Elements

来源:互联网 发布:csp软件下载 编辑:程序博客网 时间:2024/06/09 18:50

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

思路:操纵链表节点最好的方式当然是双重指针了。

/** * 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** tmp = &head;        while(*tmp){            if((*tmp)->val == val) *tmp = (*tmp)->next;            else tmp = &((*tmp)->next);        }        return head;    }};

0 0
原创粉丝点击