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. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */public class Solution { public ListNode removeElements(ListNode head, int val) { ListNode dummy = new ListNode(0); dummy.next = head; ListNode node = head; ListNode PRev = dummy; while (node != null) { if (node.val == val) { prev.next = node.next; } else { prev = prev.next; } node = node.next; } return dummy.next; }}/** * 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* dummy = new ListNode(0); dummy->next = head; ListNode* node = head; ListNode* prev = dummy; while (node) { if (node->val == val) { prev->next = node->next; } else { prev = prev->next; } node = node->next; } return dummy->next; }};新闻热点
疑难解答