Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 타입스크립트
- 릿코드
- 프론트엔드
- 코딩테스트
- RxJS
- 자료구조
- vue3
- 배열
- GraphQL
- 연결리스트
- 이진탐색
- RT scheduling
- 자바스크립트
- 해시테이블
- alexnet
- 프로그래머스
- pytorch
- C
- APOLLO
- 웹팩
- 연결 리스트
- Machine Learning
- 프로세스
- 포인터
- 큐
- 스택
- 알고리즘
- 컨테이너
- 브라우저
- cors
Archives
- Today
- Total
프린세스 다이어리
[LeetCode] Reverse Linked List - 자바스크립트 풀이 본문
728x90
1. 접근 방법
(1) 리스트의 끝까지 재귀로 타고 들어간 다음, 끝에서부터 하나씩 돌아오면서 역순으로 노드를 연결해준다.
(2) head.next가 마지막 노드인 경우는 head.next가 아무것도 가리키지 않는 상태이므로 head.next.next === NULL 이라고 볼 수 있다. 이 head.next를 이전 노드, 즉 head를 가리키도록 한다.
head.next.next = head;
(3) head는 더이상 head.next를 가리킬 필요가 없으므로 연결고리를 끊어준다.
head.next = null;
(4) 해당 단계를 마치면 이전 재귀 단계로 한 단계 돌아와 같은 방법으로 수행한다.
2. 전체 해답
/**
* Definition for singly-linked list.
* function ListNode(val, next) {
* this.val = (val===undefined ? 0 : val)
* this.next = (next===undefined ? null : next)
* }
*/
/**
* @param {ListNode} head
* @return {ListNode}
*/
var reverseList = function(head) {
if (!head || !head.next) return head;
const answer = reverseList(head.next);
head.next.next = head;
head.next = null;
return answer;
};
https://bcp0109.tistory.com/142 이 글을 보고 간신히 이해했다. 감사합니다..
다른 풀이
/**
* Definition for singly-linked list.
* function ListNode(val, next) {
* this.val = (val===undefined ? 0 : val)
* this.next = (next===undefined ? null : next)
* }
*/
/**
* @param {ListNode} head
* @return {ListNode}
*/
var reverseList = function(head, prev = null) {
if (!head) return prev;
let temp = head.next;
head.next = prev;
return reverseList(temp, head);
};
728x90
'자료구조, 알고리즘' 카테고리의 다른 글
[LeetCode] Pascal's Triangle II - 자바스크립트 풀이 (0) | 2021.12.05 |
---|---|
[LeetCode] Search in a Binary Search Tree - 자바스크립트 풀이 (0) | 2021.11.30 |
[LeetCode] Swap Nodes in Pairs - 자바스크립트 풀이 (0) | 2021.11.30 |
[LeetCode] Reverse String - 자바스크립트 풀이 (0) | 2021.11.29 |
[LeetCode] Valid Perfect Square - 자바스크립트 풀이 (0) | 2021.11.29 |
Comments