Given a sorted linked list, delete all duplicates such that each element appear only once.
For example,
Given 1->1->2
, return 1->2
.
Given 1->1->2->3->3
, return 1->2->3
.
解法:O(n)遍历链表,固定住第一个值,直到找个和它不相等的节点,设为固定节点的next
public class Solution {
public ListNode deleteDuplicates(ListNode head) {
ListNode p = head;
while(p != null){
ListNode pre = p;
int t = p.val;
while(p.next != null && p.next.val == t){
p = p.next;
}
pre.next = p.next;
p = p.next;
}
return head;
}
}