思路,因为是排序链表,所以只需要顺序地比较相邻两个元素是否相同,相同则保留前者,不同则继续遍历下个元素。
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
def deleteDuplicates(self, head: ListNode) -> ListNode:
if head==None or head.next==None:
return head
headR=pre=head
head=head.next
while head!=None:
if head.val ^ pre.val==0:#相同
pre.next=head.next
head=head.next
else:#不相同
pre=head
head=head.next
return headR