删除链表元素我们很熟了,但需要确保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; }