如果帮助到您,还请点个关注吧,hahaha
给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。
示例 1:
输入: 1->1->2
输出: 1->2
示例 2:
输入: 1->1->2->3->3
输出: 1->2->3
#最直观的思路
用cur表示当前节点,利用wile循环遍历链表
结束条件为: 遍历完链表,即 cur.next 为空; 头结点 head 可能为空, 则也需要判断 cur 是否为空
遍历过程中:
(1)如果该节点出元素与下一节点元素相同,则删除下一节点: cur.next = cur.next.next;
(2)若不同,则继续遍历;
class Solution:
def deleteDuplicates(self, head: ListNode) -> ListNode:
cur = head
while(cur != None and cur.next != None):
if cur.val == cur.next.val:
cur.next = cur.next.next
else:
cur = cur.next
return head