From 9ac50a9a9183a3f81fd0f026950bf6fbda21f55e Mon Sep 17 00:00:00 2001 From: h4 <20080114+tan-i-ham@users.noreply.github.com> Date: Mon, 16 May 2022 14:51:05 +0900 Subject: [PATCH] chore: Add new solution to LeetCode 203 Without using pre Node --- problems/0203.移除链表元素.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/problems/0203.移除链表元素.md b/problems/0203.移除链表元素.md index c34831b7..9cedfe93 100644 --- a/problems/0203.移除链表元素.md +++ b/problems/0203.移除链表元素.md @@ -234,6 +234,27 @@ public ListNode removeElements(ListNode head, int val) { } return head; } +/** + * 不添加虚拟节点and pre Node方式 + * 时间复杂度 O(n) + * 空间复杂度 O(1) + * @param head + * @param val + * @return + */ +public ListNode removeElements(ListNode head, int val) { + while(head!=null && head.val==val){ + head = head.next; + } + ListNode curr = head; + while(curr!=null){ + while(curr.next!=null && curr.next.val == val){ + curr.next = curr.next.next; + } + curr = curr.next; + } + return head; +} ``` Python: