📌  相关文章
📜  用于从排序链接列表中删除所有重复项的 Javascript 程序

📅  最后修改于: 2022-05-13 01:57:43.518000             🧑  作者: Mango

用于从排序链接列表中删除所有重复项的 Javascript 程序

给定一个排序的链表,删除所有重复数字(所有出现)的节点,只留下在原始列表中出现一次的数字。
例子:

Input: 23->28->28->35->49->49->53->53
Output: 23->35

Input: 11->11->11->11->75->75
Output: empty List

请注意,这与从链接列表中删除重复项不同

这个想法是维护一个指向节点的指针(prev) ,该节点恰好位于我们正在检查重复的节点块之前。在第一个示例中,当我们检查节点 28 的重复项时,指针prev将指向 23。一旦我们到达值为 28 的最后一个重复节点(将其命名为当前指针),我们可以使 prev 节点的下一个字段成为当前的下一个并更新current=current.next 。这将删除具有重复项的值为 28 的节点块。

Javascript


输出:

List before removal of duplicates
23 28 28 35 49 49 53 53 
List after removal of duplicates
23 35 

时间复杂度: O(n)
有关详细信息,请参阅有关从排序的链接列表中删除所有重复项的完整文章!