Skip to content

Commit 4bf9b80

Browse files
committed
add solutions
1 parent 7c7dfe8 commit 4bf9b80

4 files changed

+83
-0
lines changed

203-remove-linked-list-elements.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Definition for singly-linked list.
2+
# class ListNode:
3+
# def __init__(self, x):
4+
# self.val = x
5+
# self.next = None
6+
7+
class Solution:
8+
def removeElements(self, head: ListNode, val: int) -> ListNode:
9+
while True:
10+
if head is None:
11+
return head
12+
13+
if head.val != val:
14+
break
15+
head = head.next
16+
17+
current = head
18+
while current.next:
19+
if current.next.val == val:
20+
current.next = current.next.next
21+
else:
22+
current = current.next
23+
24+
return head

21-merge-two-sorted-lists.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Definition for singly-linked list.
2+
# class ListNode:
3+
# def __init__(self, x):
4+
# self.val = x
5+
# self.next = None
6+
7+
class Solution:
8+
def mergeTwoLists(self, l1: ListNode, l2: ListNode) -> ListNode:
9+
dummy = ListNode(0)
10+
tail = dummy
11+
while True:
12+
if l1 is None:
13+
tail.next = l2
14+
break
15+
if l2 is None:
16+
tail.next = l1
17+
break
18+
19+
if l1.val <= l2.val:
20+
tail.next = l1
21+
l1 = l1.next
22+
else:
23+
tail.next = l2
24+
l2 = l2.next
25+
tail = tail.next
26+
27+
return dummy.next

237-delete-node-in-a-linked-list.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Definition for singly-linked list.
2+
# class ListNode:
3+
# def __init__(self, x):
4+
# self.val = x
5+
# self.next = None
6+
7+
class Solution:
8+
def deleteNode(self, node):
9+
"""
10+
:type node: ListNode
11+
:rtype: void Do not return anything, modify node in-place instead.
12+
"""
13+
node.val = node.next.val
14+
node.next = node.next.next
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Definition for singly-linked list.
2+
# class ListNode:
3+
# def __init__(self, x):
4+
# self.val = x
5+
# self.next = None
6+
7+
class Solution:
8+
def deleteDuplicates(self, head: ListNode) -> ListNode:
9+
if head is None:
10+
return head
11+
12+
current = head
13+
while current.next:
14+
if current.val == current.next.val:
15+
current.next = current.next.next
16+
else:
17+
current = current.next
18+
return head

0 commit comments

Comments
 (0)