Leetcode每日一题-82.删除排序链表中的重复元素

Leetcode每日一题-82.删除排序链表中的重复元素

func deleteDuplicates(head *ListNode) *ListNode {
    
    
	first := &ListNode{
    
    
		-1, head,
	}
	p := head
	pre := first
	// 判断当前值是不是连续相同值, true表示不连续
	var flag bool
	for p != nil {
    
    
		flag = true
		for p.Next != nil && p.Val == p.Next.Val {
    
    
			// 如果连续相同,那么flag变为false
			flag = false
			p = p.Next
		}
		// 如果是不同值
		if flag {
    
    
			// true表示非连续相同,那么值需要保留,追加到pre后
			pre.Next = p
			pre = pre.Next
		}
		p = p.Next
	}
	pre.Next = nil
	return first.Next
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_38557583/article/details/115197079
今日推荐