题目
同上一篇题目,本篇介绍方法二类似于选择排序的过程,时间复杂度为O(),额外空间复杂度为O(1),
思路
- 按顺序遍历节点
- 先是记录当前节点,然后去查看后面是否还有重复,有的话删掉,直到遍历完
- 然后重复2过程,直到遍历完链表
源码
public class Node{
public int value;
public Node next;
public Node(int data){
this.value=data;
}
}
public void removeRep2(Node head){
Node cur=head;
Node pre=null;
Node next=null;
while(cur!=null){
pre=cur;
next=cur.next;
while(next!=null){
if(cur.value==next.value){
pre.next==next.next;
}else{
pre=next;
}
next=next.next;
}
cur=cur.next;
}
}
本文介绍了一种基于选择排序思想的链表去重方法,通过遍历链表并删除重复节点,实现时间复杂度O(n^2),额外空间复杂度O(1)。算法首先记录当前节点,检查并删除其后的所有重复节点,直至链表遍历完成。
629

被折叠的 条评论
为什么被折叠?



