- 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
- time o(1) space o(1)
- public ListNode removeElements(ListNode head, int val) {
- // 这里不要写 HEAD.NEXT == NULL 返回 HEAD, 因为会出现 [1], VAL=1 -> []
- if (head == null ) return head;
- ListNode dummy = new ListNode(0) ;
- ListNode curr = dummy ;
- dummy.next = head ;
- /*
- Given: 1 --> 2 --> 6 --> 6 --> 6 --> 3 --> 4 --> 5 --> 6, val = 6
- Return: 1 --> 2 --> 3 --> 4 --> 5
- * */
- while (curr != null && curr.next!= null){
- if (curr.next.val == val){
- curr.next = curr.next.next ;
- } else{
- curr = curr.next ;
- }
- }
- return dummy.next ;
- }
来源: http://www.bubuko.com/infodetail-2503733.html