정렬 된 링크 에 중복 되 는 노드 가 존재 합 니 다. 이 링크 에서 중복 되 는 노드 를 삭제 하 십시오. 중복 되 는 노드 는 보류 하지 않 고 체인 헤더 포인터 (js 코드) 를 되 돌려 주 십시오.

1. 제목 설명
정렬 된 링크 에 중복 되 는 노드 가 존재 합 니 다. 이 링크 에서 중복 되 는 노드 를 삭제 하 십시오. 중복 되 는 노드 는 보류 하지 않 고 체인 헤더 지침 을 되 돌려 주 십시오.예 를 들 어 링크 1 - > 2 - > 3 - > 3 - > 4 - > 5 처리 후 1 - > 2 - > 5 입 니 다.
2. 코드 구현
/*function ListNode(x){
    this.val = x;
    this.next = null;
}*/
function deleteDuplication(pHead)
{
     
    
    if (pHead == null) return null;//      
        var p = pHead;
        var n = new ListNode(0);//      0   
        var pre = n;//pre     ,          
        n.next = pHead;//     pHead
        while (p!= null) {
     //p  null 
            var q = p.next;//q p      
            if (q == null) break;
            if (q.val == p.val) {
     //     
                while (q != null && q.val == p.val) {
     
                    q = q.next;//       ,                
                }
                pre.next = q;//            
              
            } else {
     
                pre = p; //pre    
            }
            p=q;
        }
        return n.next;
    
}

실행 시간: 12ms 메모리 사용량: 5336 k

좋은 웹페이지 즐겨찾기