역 단일 연결 목록
3822 단어 leetcodejavascript
var reverseList = function (head) {
let previous;
return reverse(head, (previous = null));
};
const reverse = (head, previous) => {
if (head === null) {
return previous;
}
let next = head.next;
head.next = previous;
return reverse(next, head);
};
재귀 2
아래 솔루션의 핵심
-- 마침내 우리는 헤드 참조가 필요하고 head.next와 head의 다음이 이제 헤드가 될 수 있다는 것을 알기 위해 그것을 head에 연결해야 합니다.
var reverseList = function(head) {
const reverseR = (head) => {
if (head === null || head.next === null) {
return head;
}
let last = reverseR(head.next);
const rest_tail = head.next;
rest_tail.next = head;
head.next = null;
return last;
}
return reverseR(head);
}
반복적 인
var reverseList = function (head) {
let current = head;
let previous = null;
while (current !== null) {
const tempNode = current.next;
current.next = previous;
previous = current;
current = tempNode;
}
return previous;
};
Reference
이 문제에 관하여(역 단일 연결 목록), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/zeeshanali0704/reverse-singly-linked-list-53am텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)