Remove Duplicates from Sorted List - LeetCode

题目链接

Remove Duplicates from Sorted List - LeetCode

注意点

  • 可能重复的数字不止两个,例如:[1,1,1]

解法

解法一:一道简单题,注意不要访问空结点就好。如果相邻两个数字相等就把前一个的指针指向后一个的下一个即可。时间复杂度O(n)。

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    ListNode* deleteDuplicates(ListNode* head) {
        ListNode* p = head;
        while(p != NULL)
        {
            if(p->next != NULL && p->val == p->next->val) p->next = p->next->next;
            else p = p->next;
        }
        return head;
    }
};

小结

  • 链表题
posted @ 2019-02-14 15:00  闽A2436  阅读(112)  评论(0编辑  收藏  举报