leetcode 83. Remove Duplicates from Sorted List

时间:2019-05-15
本文章向大家介绍leetcode 83. Remove Duplicates from Sorted List,主要包括leetcode 83. Remove Duplicates from Sorted List使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
#coding=gbk
'''
给定排序好的链表,对于链表中的元素数值进行去重
'''

# 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 is None or head.next is None:
            return head
        else:
            output=head
            temp_start=head
            temp_value=head.val
            temp_node=head.next
            while(temp_node is not None):
                count=0
                while(temp_node is not None and temp_node.val==temp_value):#当前的节点中的数值与前面的数值相等
                    count+=1
                    temp_node=temp_node.next
                if temp_node is None:#遍历到链表的最后一个节点
                    temp_start.next=None
                    return head
                else:
                    if count>0:
                        temp_start.next=temp_node
                        temp_start=temp_node
                        temp_node=temp_start.next
                        temp_value=temp_start.val
                    else:
                        temp_start = temp_node
                        temp_node = temp_start.next
                        temp_value = temp_start.val
            return output

# if __name__=='__main__':
#     print(Solution().climbStairs(3))

$flag 上一页 下一页