자바 링크 의 중복 노드 삭제
1330 단어 단순 알고리즘
정렬 된 링크 에 중복 되 는 노드 가 존재 합 니 다.이 링크 에서 중복 되 는 노드 를 삭제 하 십시오.중복 되 는 노드 는 보류 하지 않 고 체인 헤더 지침 을 되 돌려 주 십시오.예 를 들 어 링크 1->2->3->3->4->5 처리 후 1->2->5
/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}
*/
public class Solution {
public ListNode deleteDuplication(ListNode pHead)
{
if(pHead == null || pHead.next == null){
return pHead;
}
ListNode curNode = pHead;
ListNode nextNode = null;
ListNode headNode = new ListNode(-1);
ListNode preNode = headNode;
headNode.next = pHead;
while(curNode!=null){
nextNode = curNode.next;
if(nextNode!=null && curNode.val == nextNode.val){
//
while(nextNode!=null && curNode.val == nextNode.val){
nextNode = nextNode.next;
}
preNode.next = nextNode;
curNode = nextNode;
}else{
preNode = curNode;
curNode = nextNode;
}
}
return headNode.next;
}
}