题目
删除链表中的重复元素,如链表1->1>2>3>1>5,删除重复元素过后新链表尾2->3->5.相对于常规的链表删除重复元素的题目,这次题目中链表元素不是有序的.
代码
public ListNode deleteDuplication(ListNode pHead) {
ListNode preNode = new ListNode(0);
ListNode node = pHead;
preNode.next = node;
ListNode temp;
ListNode preTemp;
boolean tag;
while(node != null){
tag = false;
temp = node.next;
preTemp = node;
while(temp != null){
if(temp.val == node.val){
temp = temp.next;
preTemp.next = temp;
tag = true;
}else{
preTemp = temp;
temp = temp.next;
}
}
if(tag == true){
node = node.next;
preNode.next = node;
}else{
preNode = node;
node = node.next;
}
if(preNode.val == 0)
pHead = node;
}
return pHead;
}