S2 icon indicating copy to clipboard operation
S2 copied to clipboard

0083. Remove Duplicates From Sorted List | LeetCode Cookbook

Open halfrost opened this issue 4 years ago • 1 comments

https://books.halfrost.com/leetcode/ChapterFour/0001~0099/0083.Remove-Duplicates-from-Sorted-List/

halfrost avatar Feb 15 '21 03:02 halfrost

双指针写法

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

}

cybersl avatar Sep 23 '22 09:09 cybersl