复试上机LeetCode-简单-019.Remove Duplicates from Sorted List

Posted 冯强讲计算机

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了复试上机LeetCode-简单-019.Remove Duplicates from Sorted List相关的知识,希望对你有一定的参考价值。

19.Remove Duplicates from Sorted List(删除有序链表中重复元素)


前言:
前面我们在顺序表中做过同样的事情,这里也差不多,都是两个表的意思(双指针)。

文字思想:

这是一个“有序单链表”,假设表是递增的,则值重复的元素一定是相邻的。

①将表划分为A表,B表;A表是该有序单链表的前半部分,B表是该表的后半部分;

②初始时,表A中只有一个元素,也就是有序单链表的第一个元素;表B拥有剩下的n-1个元素;

③用表A的最后一个元素与表B从头开始比较,出现了不相等时,追加到表A尾巴上;相等的在C++中需要free,我们是用Java写的,有自动垃圾回收机制,所以不操心释放的问题。

④重复③,直到表B为空;


例子:


代码:

复杂度:

时间复杂度:O(n);空间复杂度:O(1)。

积累:

  1. 一个线性表分为几部分的逻辑模型。

  2. 整体。



点击”阅读原文”,加入LeetCode刷题交流群

以上是关于复试上机LeetCode-简单-019.Remove Duplicates from Sorted List的主要内容,如果未能解决你的问题,请参考以下文章

安大复试上机题

北京理工大学复试上机--2015

北京理工大学复试上机--2004

北理工计算机复试上机 2013

北京理工大学复试上机--2019

湖南师范大学计算机研究生复试上机吗