首页 > 编程语言 >力扣(leetcode) 83. 删除排序链表中的重复元素(双指针算法)

力扣(leetcode) 83. 删除排序链表中的重复元素(双指针算法)

时间:2022-10-27 20:07:37浏览次数:81  
标签:pre 力扣 head 指向 res next 链表 83


题目在这​​:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list/​

思路分析:

删除链表中相同的元素嘛。
要注意这个链表是升序链表哦~~~~
我们建立三个指针指向开头。res、head、pre 三个指针都指向链表开头。
res用于最后返回答案。
让head指向pre后一个元素。即 pre开始指向第一个元素。head指向第二个元素。
如果pre和head所指向的元素相等。则让head往后挪。然后让pre链上head。

初始状态:

力扣(leetcode) 83. 删除排序链表中的重复元素(双指针算法)_两个指针


当pre和head相等时:(headt=head.next。pre.next = head)

力扣(leetcode) 83. 删除排序链表中的重复元素(双指针算法)_python_02


若pre和head不相等。则两个指针都往后挪。

完整代码:

if head == None:
return head
pre = head
res = head # res指向开头 用于最后返回
head = head.next
while head != None:
if pre.val == head.val:
head = head.next
pre.next = head
else:
pre = pre.next
head = head.next
return



标签:pre,力扣,head,指向,res,next,链表,83
From: https://blog.51cto.com/u_15849381/5801736

相关文章