LeetCode-移除链表元素-简单

标题:203移除链表元素-简单

题目

给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点

示例1

输入:head = [1,2,6,3,4,5,6], val = 6
输出:[1,2,3,4,5]

示例2

输入:head = [], val = 1
输出:[]

示例3

输入:head = [7,7,7,7], val = 7
输出:[]

提示

  • 列表中的节点数目在范围 [0, 104]
  • 1 <= Node.val <= 50
  • 0 <= val <= 50

代码Java

	public ListNode removeElements(ListNode head, int val) {
    if (head == null)
        return head;
    ListNode p = head.next;
    ListNode pre = head;
    while (p != null) {
        if (p.val == val) {
            pre.next = p.next;
            p.next = null;
            p = pre.next;
        } else {
            pre = p;
            p = p.next;
        }
    }
    if (head != null && head.val == val){
            head = head.next;
    }
    return head;
  }
上一篇:离散数学-----自然数系统


下一篇:java双向链表,flutter游戏框架