S2
S2 copied to clipboard
0083. Remove Duplicates From Sorted List | LeetCode Cookbook
https://books.halfrost.com/leetcode/ChapterFour/0001~0099/0083.Remove-Duplicates-from-Sorted-List/
双指针写法
func deleteDuplicates(head *ListNode) *ListNode {
// 虚拟头节点
dummy := &ListNode{Next: head}
// 快慢指针
for slow,fast:=dummy,dummy.Next;slow.Next!=nil;slow=slow.Next{
for fast=slow.Next;fast!=nil && fast.Next!=nil && fast.Val==fast.Next.Val;{
fast=fast.Next
}
// 存在重复
// 此时fast.val与 fast.next.val不相等
if fast!=slow.Next{
// 保留一位重复数字
slow.Next.Next=fast.Next
}
}
return dummy.Next
}