Skip to content
Algorithm.js
📚 단일 패턴

206. Reverse Linked List

반복문을 사용하여 연결 리스트를 역순으로 뒤집기

Oct 1, 2025 — linked-list

문제 설명

풀이 아이디어

head
|
null [1] => [2] => [3] => [4] => [5]
| |
prv cur
while(cur) {
// reverse linked list
// move to next
prv = cur;
cur = original cur.next;
}
head
|
| -> 나중을 위해서 temp 로 저장
null [1] => [2] => [3] => [4] => [5]
| |
prv cur
const temp = cur.next;
cur.next = prv;

해결 전략

/**
* Definition for singly-linked list.
* class ListNode {
* val: number
* next: ListNode | null
* constructor(val?: number, next?: ListNode | null) {
* this.val = (val===undefined ? 0 : val)
* this.next = (next===undefined ? null : next)
* }
* }
*/
function reverseList(head: ListNode | null): ListNode | null {
let prv = null;
let cur = head;
while (cur) {
const temp = cur.next;
cur.next = prv;
prv = cur;
cur = temp;
}
return prv;
};