203. 移除链表元素

Posted jianzha

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了203. 移除链表元素相关的知识,希望对你有一定的参考价值。

package 链表;

/**
 * https://leetcode-cn.com/problems/remove-linked-list-elements/
 * 203. 移除链表元素
 * <p>
 * 解题思路 :使用哨兵
 */
public class _203_Remove_Linked_List_Elements {


    public class ListNode {
        int val;
        ListNode next;

        ListNode(int x) {
            val = x;
        }
    }

    class Solution {
        public ListNode removeElements(ListNode head, int val) {
            // 新建个节点,防止第一个节点就是要被移除的节点
            ListNode sentinel = new ListNode(0);
            sentinel.next = head;
            // 前一个节点
            ListNode prev = sentinel;
            // 后一个节点
            ListNode curr = head;
            while (curr != null) {
                if (curr.val == val) {
                    prev.next = curr.next;
                } else {
                    prev = curr;
                }
                curr = curr.next;
            }
            return sentinel.next;
        }
    }
}

以上是关于203. 移除链表元素的主要内容,如果未能解决你的问题,请参考以下文章

代码随想录算法训练营第三天 | 203.移除链表元素707.设计链表 206.反转链表

代码随想录算法训练营第三天 | 203.移除链表元素707.设计链表 206.反转链表

203. 移除链表元素

203. 移除链表元素

203. 移除链表元素

203. 移除链表元素