/** * Definition for singly-linked list. * public class ListNode { * public int val; * public ListNode next; * public ListNode(int x) { val = x; } * } */ public class Solution { public ListNode RemoveElements(ListNode head, int val) { if (head == null) { return null; } else { var temp = head; ListNode last = null; while (temp != null) { if (temp.val != val) { last = temp; temp = temp.next; } else { if (temp.next != null) { temp.val = temp.next.val; temp.next = temp.next.next; } else { if (last != null) { last.next = null; } break; } } } if (head.next != null && head.next.val == val) { head.next = null; } if (head.val == val) { head = null; } return head; } } }
https://leetcode.com/problems/remove-linked-list-elements/#/description