力扣203移除元素
 题目来源:
 力扣203
 题目描述:
 
 非常简单的一道题,主要强调两点
- 链表删除要记录删除位置的前驱节点 头节点没有前驱 因此直接head=head.next
- 为了保持与后两种一致,加上虚拟节点,下一节点指向头节点
/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    public ListNode removeElements(ListNode head, int val) {
        //来一个虚节点 删除分首中尾三种 首的删除不需要前一个节点
        //为了与后两种统一 增加虚节点
        ListNode dummynode=new ListNode(0);
        dummynode.next=head;
        ListNode testnode=dummynode;
        while(testnode.next!=null){
            if(testnode.next.val==val){
                testnode.next=testnode.next.next;
            }else{
                testnode=testnode.next;
            }  
        }
        return dummynode.next;
    }
}



















