码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2021-06-04 19:14:00      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:remove   class   节点   rom   let   链表   problems   一个   else   

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(删除排序链表中的重复元素)

标签:remove   class   节点   rom   let   链表   problems   一个   else   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!