题解 | #删除有序链表中重复的元素-I#

删除有序链表中重复的元素-I

https://www.nowcoder.com/practice/c087914fae584da886a0091e877f2c79

思路:第一个节点先和后一个节点比较,如果相同,cur1不变,cur2走向后一个节点,cur1再cur2比较,相同则cur2走向后一个节点,cur1和cur2再次比较,不相同,则cur1走到cur2的位置,cur2走到后一个节点的位置,再次进行比较,如果cur2等于NULL,则走到链表的末尾。 alt

struct ListNode* deleteDuplicates(struct ListNode* head ) {
    // write code here
    struct ListNode*cur1 = head;
    struct ListNode*cur2  =head->next;
    if(head == NULL)
    return head;
    while(cur2)
    {
        if(cur1->val == cur2->val)
       {
         cur1->next = cur2->next;
         cur2 = cur2->next;
       }
        else {
        cur1 = cur2;
       // if(cur2)
        cur2 = cur2->next;
        }
    }
    return head;
}
全部评论

相关推荐

豆泥🍀:同26届,加油,我也还没找到查看图片
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务