题解 | #删除链表中重复的结点#

删除链表中重复的结点

http://www.nowcoder.com/practice/fc533c45b73a41b0b44ccba763f866ef

/*
struct ListNode {
    int val;
    struct ListNode *next;
    ListNode(int x) :
        val(x), next(NULL) {
    }
};
*/
class Solution {
public:
    ListNode* deleteDuplication(ListNode* pHead) {
        ListNode* head=new ListNode(-1);
        head->next=pHead;
        ListNode* pre=head;
        while(pre)
        {
            
            ListNode* t=pre->next;
            if(!t)
            {
                break;
            }
            int val=t->val;
            ListNode* tmp=t->next;
            if(!tmp)
            {
                break;
            }
            while(tmp)
            {
                if(tmp->val!=val)
                {
                    break;
                }
                tmp=tmp->next;
            }
            if(t->next!=tmp)
            {
                pre->next=tmp;
            }
            else
            {
                pre=pre->next;
            }
            
        }
        return head->next;
    }
};
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-01 13:54
点赞 评论 收藏
分享
06-12 16:00
天津大学 Java
牛客30236098...:腾讯坏事做尽,终面挂是最破防的 上次被挂了后我连简历都不刷了
点赞 评论 收藏
分享
06-28 22:48
已编辑
广东金融学院 Java
小浪_Coding:学院本+这俩项目不是buff叠满了嘛
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务