排序链表中去重

来源:互联网 发布:ci框架数据库配置 编辑:程序博客网 时间:2024/06/12 12:17

本总结是是个人为防止遗忘而作,不得转载和商用。

题目

         给定排序的链表,删除重复元素,只保留重复元素第一次出现的结点。

         如:

                  给定:2→3→3→5→7→8→88→9→9→10

                  返回:2→3→5→7→8→9→10

分析

         这题很简单,只需要一个简单的判断:

                  if cur->value == next->value:

                           cur->next= next->next;

         当然了,不排序的列表则先排序在操作。

扩展

         若题目变成:若发现重复元素,则重复元素全部删除,代码应该怎么实现呢?

         如:

                  给定:2→33→5→7→88899→10

                  返回:2→5→7→10

         这样的话建立三个指针pre,cur,next

                  if cur->value == next->value:

                            pre->next = next;


0 0