Java删除链表的重复结点

要求
删除一个有序链表中的重复结点,重复的结点不保留。
思路
使用两个引用(相邻的)遍历整个链表;如果值不相等,根据有序性:两个引用都往后走;如果值相等,让后边的引用前进,直到遇到不相等的结点或者null;删除[front,cur)所有结点 front = cur,cur = cur.next;循环这个过程,直到 cur == null。
注意
删除结点,需要前驱结点;如果最开始两个结点就相等,没有前序添加一个假的结点,最后返回假结点的next即可。
完整调式程序
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
时间复杂度:O(n)

发布了39 篇原创文章 · 获赞 32 · 访问量 1499

猜你喜欢

转载自blog.csdn.net/weixin_44780625/article/details/97658583