19. 링크 의 마지막 N 번 째 노드 삭제 (JS 구현)
4719 단어 검지 제공
링크 를 지정 하고 링크 의 마지막 n 번 째 노드 를 삭제 하 며 링크 의 끝 점 을 되 돌려 줍 니 다.예제: 하나의 링크 를 지정 합 니 다: 1 - > 2 - > 3 - > 4 - > 5, n = 2. 마지막 두 번 째 노드 를 삭제 한 후에 링크 는 1 - > 2 - > 3 - > 5 로 변 합 니 다. 설명: 주어진 n 보증 은 유효 합 니 다.
사고
이 문 제 는 prev 지침 을 추가 하 는 방법 을 통 해 링크 를 한 번 만 옮 겨 다 니 면 마지막 노드 를 찾 을 수 있 습 니 다.
3 코드
/**
* Definition for singly-linked list.
* function ListNode(val) {
* this.val = val;
* this.next = null;
* }
*/
/**
* @param {ListNode} head
* @param {number} n
* @return {ListNode}
*/
var removeNthFromEnd = function(head, n) {
var list = head;
var prev = head;
prev.prev = null;
var len = 1;
while(list.next) { // prev
list = list.next;
list.prev = prev;
prev = list;
len ++;
}
if (len < n) return head; // ,
while(--n > 0) { // n
list = list.prev;
}
if (list.prev === null) { //
return list.next;
} else {
if (n > 1) list.next.prev = list.prev; //
list.prev.next = list.next;
return head;
}
};
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
\ # 데이터 구조 와 알고리즘 학습 노트 \ # 검 지 제공 42: 단어 순 서 를 뒤 집기 + 테스트 사례 (자바, C / C +)2019.1.2 검 지 Offer 는 제로 브러시 개인 노트 정리 (66 문제 전) 디 렉 터 리 전송 문 에서 인터넷 에 서 는 원 서 를 포함 한 많은 방법 이 문장 을 두 번 뒤 집 는 것 이다. 첫 번...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.