首页 > 编程语言 > 详细

LeetCode 83. Remove Duplicates from Sorted List(删除排序链表中的重复元素)

时间:2021-06-04 12:21:50      阅读:16      评论:0      收藏:0      [点我收藏+]

LeetCode 83. Remove Duplicates from Sorted List(删除排序链表中的重复元素)

题目

链接

https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list

问题描述

存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。

返回同样按升序排列的结果链表。

示例

输入:head = [1,1,2]
输出:[1,2]

思路

普通的遍历就行了,如果值相同,那么去除一个结点,如果不同,那么结点向后移动一位。

复杂度分析

时间复杂度 O(n)
空间复杂度 O(1)

代码

C++

ListNode *deleteDuplicates(ListNode *head) {
    if (head == nullptr) {
        return head;
    }
    ListNode *p = head;
    while (p->next != nullptr) {
        if (p->val == p->next->val) {
            p->next = p->next->next;
        } else{
            p = p->next;
        }
    }
    return head;
}

LeetCode 83. Remove Duplicates from Sorted List(删除排序链表中的重复元素)

原文:https://www.cnblogs.com/blogxjc/p/14848089.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!