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;
    }
};

小结

  • 链表题

猜你喜欢

转载自www.cnblogs.com/multhree/p/10374659.html