LeetCode 83. 刪除排序鏈表中的重複元素(Python)

給定一個排序鏈表,刪除所有重複的元素,使得每個元素只出現一次。

示例 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
                

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章