Given a sorted linked list, delete all duplicates such that each element appear only once.
Example 1:
Input: 1->1->2
Output: 1->2
Example 2:
Input: 1->1->2->3->3
Output: 1->2->3
<思路>如果链表为空,或者只有一个节点,直接返回。如果链表有下一个节点,比较val,相同则将next越过,不同则继续向下查找。
# 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
"""
if not head:
return head
rhead = head
while head.next:
if head.val==head.next.val:
head.next = head.next.next
else:
head = head.next
return rhead