已知存在一个排序链表,删除所有重复数据,保证每个元素只能出现一次。
例如:
已知: 1->1->2
, 返回 1->2
.
已知
1->1->2->3->3
, 返回 1->2->3
.
思路:遍历链表,保存一个中间值,如果和当前的值相等的,不保存,不等,才保存。
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
public class Solution {
int value=-100;
public ListNode deleteDuplicates(ListNode head) {
ListNode temp=new ListNode(-100);
ListNode result=temp;
while(head!=null){
if(head.val==value){
}else{
temp.next=new ListNode(head.val);
value=head.val;
temp=temp.next;
}
head=head.next;
}
return result.next;
}
}