LeetCode—移除链表元素(虚假头节点)

移除链表元素(简单)

2020年5月26日

题目来源:力扣

在这里插入图片描述

解题
非常简单的一道题,需要注意的有以下四点:
1.头节点是null的处理
2.头节点是val的处理
3.当链表中有多个连续的节点等于val时的处理
4.节点走到null时不能再判断它的val值,否则会报空指针异常的错误。

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public ListNode removeElements(ListNode head, int val) {
        if(head==null) return head;
        while(head!=null && head.val==val)
            head=head.next;
        ListNode hh=head;	//虚假头节点hh
        while(hh!=null && hh.next!=null){
            if(hh.next.val==val)
                hh.next=hh.next.next;
            else
                hh=hh.next;
        }
        return head;
    }
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_41541562/article/details/106348863