删除链表中等于给定值 val 的所有节点。
示例:
输入: 1->2->6->3->4->5->6, val = 6 输出: 1->2->3->4->5
1 class Solution { 2 public ListNode removeElements(ListNode head, int val) { 3 if(head==null){ 4 return head; 5 } 6 ListNode iterator = head; 7 ListNode pre = null; 8 ListNode next = null; 9 while(iterator!=null){ 10 next = iterator.next; 11 if(iterator.val==val){ 12 if(pre==null){ 13 head=iterator.next; 14 }else{ 15 pre.next=iterator.next; 16 } 17 }else{ 18 pre=iterator; 19 } 20 iterator=next; 21 } 22 return head; 23 } 24 }