83. 删除排序链表中的反复元素
双指针法:
定义两个指针 temp 和 cur,开始时,temp 指向 head,cur 指向 head.next。遍历链表,如果 temp.val = cur.val,temp 指向 cur 的下个节点,cur 指针往后移一个节点,这时 cur 指向的节点为新节点,因而 temp 指针无需挪动,如果 temp.val != cur.val,temp 和 cur 都各往后挪动一个节点,晓得遍历完链表。
class Solution {public ListNode deleteDuplicates(ListNode head) {
ListNode temp = head,cur = head;
while(cur != null){if(temp.val == cur.val){
temp.next = cur.next;
cur = temp.next;
}else{
temp = temp.next;
cur = cur.next;
}
}
return head;
}
}