题意理解:
删除链表中的重复项;
题目分析:
使用双指针分别记录当前位置和先前位置,然后比较当前值是否与先前值重复,进而进行删除重复项操作;
解题代码:
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
public class Solution {
public ListNode deleteDuplicates(ListNode head) {
ListNode curP=head;
ListNode preP=null;
int preVal=0;
while(curP!=null){
if(curP==head){
preVal=curP.val;
preP=curP;
curP=curP.next;
continue;
}
if(curP.val==preVal){
preP.next=curP.next;
curP=curP.next;
}else{
preP=curP;
preVal=curP.val;
curP=curP.next;
}
}
return head;
}
}