203. 移除链表元素

 

 删除链表元素我们很熟了,但需要确保head如果去除的话该如何返回的问题。

    public ListNode removeElements(ListNode head, int val) {
        ListNode res = new ListNode(0);
        res.next=head;
        ListNode prev=head,curr=res;
        while(prev!=null){
            if(prev.val==val){
                // 这里prev已经是curr.next了,所以不能写成prev.next.next
                curr.next=prev.next;
            }else{
                curr=prev;
            }
            prev=prev.next;
        }
        return res.next;
    }

 

posted @ 2021-04-21 11:26  jchen104  阅读(29)  评论(0编辑  收藏  举报