LeetCode203. 移除链表元素

 

class Solution {
    public ListNode removeElements(ListNode head, int val) {
        if (head == null) return null;
        ListNode dummyHead = new ListNode(-1);
        dummyHead.next = head;
        ListNode pre = dummyHead;
        while (head != null) { // 依次遍历待删除节点
            if (head.val == val) {
                pre.next = head.next;
            }else {
                pre = head;
            }
            head = head.next;
        }
        return dummyHead.next;
        /*
        ListNode dummyHead = new ListNode(-1);
        dummyHead.next = head;
        ListNode cur = dummyHead;
        while (cur.next != null) { // 依次遍历待删除节点的前一个节点
            if (cur.next.val == val) {
                cur.next = cur.next.next;
            }else {
                cur = cur.next;
            }
        }
        return dummyHead.next;
        */
    }
}

 

posted @ 2020-12-14 09:40  不学无墅_NKer  阅读(33)  评论(0编辑  收藏  举报