删除排序链表中的重复元素---力扣

1题目

存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。

返回同样按升序排列的结果链表。
在这里插入图片描述

输入:head = [1,1,2]
输出:[1,2]

在这里插入图片描述

输入:head = [1,1,2,3,3]
输出:[1,2,3]

2解答

/**
 * Definition for singly-linked list.
 * type ListNode struct {
 *     Val int
 *     Next *ListNode
 * }
 */
func deleteDuplicates(head *ListNode) *ListNode {
    
    
    cur := head 
    for cur != nil && cur.Next != nil {
    
    
        if cur.Val == cur.Next.Val {
    
    
            cur.Next = cur.Next.Next
        } else {
    
    
            cur = cur.Next
        }
    }
    return head
}

最后一轮中cur.Next.Next=nil的话,直接就是返回nil

3相关链接

https://blog.csdn.net/Roxin_238/article/details/104724850

猜你喜欢

转载自blog.csdn.net/weixin_42375493/article/details/122046442
今日推荐