Skip to content

Commit 69496a6

Browse files
author
Yi Gu
committed
[LinkedList] Optimize solution to Remove LinkedList Element
1 parent f197a7d commit 69496a6

File tree

1 file changed

+6
-12
lines changed

1 file changed

+6
-12
lines changed

LinkedList/RemoveLinkedListElements.swift

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,24 +15,18 @@
1515
*/
1616

1717
class RemoveLinkedListElements {
18-
func removeElements(head: ListNode?, _ val: Int) -> ListNode? {
18+
func removeElements(_ head: ListNode?, _ val: Int) -> ListNode? {
1919
let dummy = ListNode(0)
2020
dummy.next = head
21+
var node = dummy
2122

22-
var prev = dummy
23-
var curr = head
24-
25-
while curr != nil {
26-
if curr!.val == val {
27-
curr = curr!.next
23+
while node.next != nil {
24+
if node.next!.val == val {
25+
node.next = node.next!.next
2826
} else {
29-
prev.next = curr
30-
prev = curr!
31-
curr = curr!.next
27+
node = node.next!
3228
}
3329
}
34-
// remember to handle the last one
35-
prev.next = nil
3630

3731
return dummy.next
3832
}

0 commit comments

Comments
 (0)