HomeBooksAboutArchivesListRecursion2021-06-06LeetCode_203_移除链表元素Table of Contents1. 203. 移除链表元素1.1. 1. des1.2. 2. code203. 移除链表元素 1. des 给你一个链表的头节点 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 <= 500 <= k <= 50 2. code /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.next = next; } * } */class Solution { public ListNode removeElements(ListNode head, int val) { if (head == null) { return head; } while (head != null && head.val = val) { head = head.next; } ListNode node = head; while (node != null) { if (node.next != null && node.next.val = val) { node.next = node.next.next; } node = node.next; } return head; }}class Solution { public ListNode removeElements(ListNode head, int val) { if (head == null) { return head; } head.next = removeElements(head.next, val); return head.val == val ? head.next : head; }} Please enable JavaScript to view the comments powered by Disqus. Blog comments powered by Disqus