LeetCode 83. Remove Duplicates from Sorted List 删除有序列表中重复的节点

1.题目

给定已排序的链表,删除所有重复节点,使每个元素只出现一次。

示例:

Input: 1->1->2->3->3
Output: 1->2->3

 

2.思路

cur 指向当前节点

如果 cur 与 cur的下一个节点值相同。cur的next指针指向cur->next->next, 相当于将cur->next从链表中剔除掉了。

如果 cur 与 cur的下一个节点值不相同 cur指向下一个节点。

3.实现

class Solution {
public:
    ListNode* deleteDuplicates(ListNode* head) {
        ListNode* cur = head;
        while(cur != nullptr && cur->next != nullptr)
        {
            if(cur->val == cur->next->val)
                cur->next = cur->next->next;
            else
                cur = cur->next;
            
        }
        return head;
    }
};

猜你喜欢

转载自blog.csdn.net/u014128608/article/details/92799808