题目
同上一篇题目,本篇介绍方法二类似于选择排序的过程,时间复杂度为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;
}
}