力扣题目:给定一个已排序的链表的头 head
, 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。
输入:head = [1,1,2] 输出:[1,2]
思路:设p=head;q=head.next;进行判断即可,需注意的是python中用None表示链表的空,而不是Null.
# Definition for singly-linked list.
# class ListNode(object):
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution(object):
def deleteDuplicates(self, head):
"""
:type head: ListNode
:rtype: ListNode
"""
if head==None:
return head;
else:
p=head;
q=head.next;
#head=None; python中用None表示链表的空
while q:
if p.val==q.val:
q=q.next;
elif p.val!=q.val:
p.next=q;
q=q.next;
p=p.next;
print(p.val);
p.next=None;
return head;