美文网首页
Remove Duplicates from Sorted Li

Remove Duplicates from Sorted Li

作者: 一枚煎餅 | 来源:发表于2016-10-10 03:53 被阅读0次
    Remove Duplicates from Sorted List II.png

    解題思路 :

    這題的陷阱是在出現重複的點的時候 要把存有這個值的所有點都刪掉 (包含第一個) 所以還是使用 dummy node 放在最前面連接原本的 head 來做 2 pointer 的掃描

    C++ code :

    <pre><code>
    class Solution{

    public:

    /**
     * @param head: The first node of linked list.
     * @return: head node
     */
    ListNode * deleteDuplicates(ListNode *head) {
        // write your code here
        if(!head) return head;
        ListNode *dummy = new ListNode(0);
        dummy->next = head;
        ListNode *pre = dummy;
        while(head && head->next)
        {
            if(head->next->val != head->val)
            {
                pre = head;
                head = head->next;
            }
            else
            {
                while(head->next && head->next->val == head->val)
                {
                    head->next = head->next->next; 
                }
                head = head->next;
                pre->next = head;
            }
        }
        return dummy->next;
    }
    

    };

    相关文章

      网友评论

          本文标题:Remove Duplicates from Sorted Li

          本文链接:https://www.haomeiwen.com/subject/bnpmyttx.html