給定一個排序鏈表,刪除所有重複的元素,使得每個元素只出現一次。
示例 1:
輸入: 1->1->2
輸出: 1->2
示例 2:
輸入: 1->1->2->3->3
輸出: 1->2->3
思路:遍歷鏈表,若下一個節點的值與本節點相同,則修改指針指向下下個節點
# Definition for singly-linked list.
# class ListNode(object):
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution(object):
def deleteDuplicates(self, head):
"""
:type head: ListNode
:rtype: ListNode
"""
pointer = head
while pointer and pointer.next:
if (pointer.val == pointer.next.val):
next_node = pointer.next
pointer.next = next_node.next
next_node.next = None
else:
pointer = pointer.next
return head