Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.
For example,
Given 1->2->3->3->4->4->5, return 1->2->5.
Given 1->1->1->2->3, return 2->3.
把已经排好序的链表中重复出现过的元素全部删掉~ 思路比较简单~
class Solution:
# @param head, a ListNode
# @return a ListNode
def deleteDuplicates(self, head):
if head is None: return None
dummy = ListNode(0)
dummy.next = head
pre, cur = dummy, head
while cur:
while cur.next != None and cur.val == cur.next.val:
cur = cur.next
if pre.next != cur:
pre.next = cur.next
else:
pre = pre.next
cur = cur.next
return dummy.next
本文介绍如何使用Python实现删除已排序链表中重复元素的算法,通过遍历链表并比较相邻节点的值来实现去重。
733

被折叠的 条评论
为什么被折叠?



