python——Leetcode 83. 刪除排序連結串列中的重複元素
阿新 • • 發佈:2019-01-06
題目
給定一個排序連結串列,刪除所有重複的元素,使得每個元素只出現一次。
示例 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