0
点赞
收藏
分享

微信扫一扫

牛客BM15-删除有序链表中重复的元素-C++

水沐由之 2022-04-06 阅读 48

一、运行结果

 

二、题目

 

三、思路

从前往后扫描链表,如果当前节点的值和后继节点的值相等,则删除后继节点,并留在当前节点继续判断新的后继节点值是否相等,否则继续向后扫描。

四、代码

class Solution {
public:
    ListNode* deleteDuplicates(ListNode* head) {
        ListNode* dummy = new ListNode(-1);
        dummy->next = head;
        while(head){
            if(head->next && head->val == head->next->val){ //重复元素
                head->next = head->next->next; //删除下一个结点
            }
            else head = head->next; 
        }
        return dummy->next;
    }
};
举报

相关推荐

0 条评论