要求:
删除一个有序链表中的重复结点,重复的结点不保留。
思路:
使用两个引用(相邻的)遍历整个链表;如果值不相等,根据有序性:两个引用都往后走;如果值相等,让后边的引用前进,直到遇到不相等的结点或者null;删除[front,cur)所有结点 front = cur,cur = cur.next;循环这个过程,直到 cur == null。
注意:
删除结点,需要前驱结点;如果最开始两个结点就相等,没有前序添加一个假的结点,最后返回假结点的next即可。
完整调式程序:
时间复杂度:O(n)
Java删除链表的重复结点
猜你喜欢
转载自blog.csdn.net/weixin_44780625/article/details/97658583
今日推荐
周排行