1. 程式人生 > >python——Leetcode 83. 刪除排序連結串列中的重複元素

python——Leetcode 83. 刪除排序連結串列中的重複元素

題目

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

示例 1:

輸入: 1->1->2
輸出: 1->2
示例 2:

輸入: 1->1->2->3->3
輸出: 1->2->3

解題思路

另外使用兩個指標b,n,n指向要判斷的結點,b指向它的前一個結點。由於第一個結點肯定不會跟前面的重複,所以從第二個結點開始判斷,初始化b = head,n=head.next,程式碼如下:

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
# self.val = x # self.next = None class Solution: def deleteDuplicates(self, head): """ :type head: ListNode :rtype: ListNode """ if not head: return head b = head n = head.next while n!=None: if
b.val!=n.val: b = n n = n.next else: b.next = n.next n = n.next return head