day66 83. 删除排序链表中的重复元素(C++)

71 阅读1分钟

题目来源: 83. 删除排序链表中的重复元素

题目描述:

  • 描述: 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。
  • 示例:
示例1:
输入:head = [1,1,2]
输出:[1,2]

示例2:
输入:head = [1,1,2,3,3]
输出:[1,2,3]

具体实现:

class Solution {
public:
    ListNode* deleteDuplicates(ListNode* head) {
        if (!head) {
            return head;
        }

        ListNode* cur = head;
        while (cur->next) {
            if (cur->val == cur->next->val) {
                cur->next = cur->next->next;
            }
            else {
                cur = cur->next;
            }
        }

        return head;
    }
};