Reverse Linked List

송철진·2023년 2월 16일
0

코드카타

목록 보기
9/11

코드카타 week 5_day 5

Reverse Linked List
linked list의 순서를 뒤집어서 return 해주세요.

예:

Input: 1->2->3->4->5->NULL
Output: 5->4->3->2->1->NULL

reversList에 인자로 넘기는 linked list는 singly-linked list입니다.
node는 아래와 같이 정의되어있습니다.

const ListNode = val => {
    this.val = val;
    this.next = null;
}

JavaScript에서 Linked List를 구현한다면 아래와 같은 구조입니다.

1->2->3->null

{
  val: 1,
  next: {
    val: 2,
    next: {
      val: 3,
      next: null
    }
  }
}

풀이

const reverseList = head => {
    let prev = null
    let current = null
    
    while(head){
        current = head.next
        head.next = prev
        prev = head
        head = current 
    }
    return prev
};

참고
https://underdog11.tistory.com/78

profile
검색하고 기록하며 학습하는 백엔드 개발자

0개의 댓글