鱼C论坛

 找回密码
 立即注册
查看: 888|回复: 0

[技术交流] 【朱迪的LeetCode刷题笔记】82. Remove Duplicates from Sorted List II #Medium #C

[复制链接]
发表于 2021-4-7 03:45:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
82. Remove Duplicates from Sorted List II #Medium

Given the head of a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list. Return the linked list sorted as well.

 
Example 1:

Input: head = [1,2,3,3,4,4,5]
Output: [1,2,5]


Example 2:

Input: head = [1,1,1,2,3]
Output: [2,3]
 

Constraints:

The number of nodes in the list is in the range [0, 300].
-100 <= Node.val <= 100
The list is guaranteed to be sorted in ascending order.

C
/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */


struct ListNode* deleteDuplicates(struct ListNode* head) {
    struct ListNode *before = NULL;
    struct ListNode *current = head;
    if (head == NULL) {
        return NULL;
    } 
    struct ListNode *next = head->next;
    while (next) {
        if (current->val == next->val) {
            while (next && current->val == next->val) {
                current = current->next;
                next = next->next;
            }
            if (next == NULL) {
                if (before == NULL) {
                    return NULL;
                }
                before->next = NULL;
                return head;
            }
            current = current->next;
            next = next->next;
            if (before == NULL) {
                head = current;
            } else {
                before->next = current;
            }
        } else {
            before = current;
            current = current->next;
            next = next->next;
        }     
    }
    return head;
}

不愧是medium 想了三天qwq
unknown.png

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-21 19:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表