LeetCode 75: 206. Reverse Linked List

김준수·2024년 3월 22일
0

LeetCode 75

목록 보기
31/63
post-custom-banner

leetcode link

Desscription

Given the head of a singly linked list, reverse the list, and return the reversed list.


주어진 단일 연결 리스트의 head가 있을 때, 이 리스트를 뒤집고 뒤집힌 리스트를 반환합니다.

예시 1:


입력: head = [1,2,3,4,5]
출력: [5,4,3,2,1]

예시 2:


입력: head = [1,2]
출력: [2,1]

예시 3:

입력: head = []
출력: []

제약사항:

  • 리스트의 노드 수는 0에서 5000까지의 범위입니다.
  • -5000 <= Node.val <= 5000

추가 질문: 연결 리스트는 반복적으로 또는 재귀적으로 뒤집을 수 있습니다. 두 방법 모두 구현할 수 있나요?

Solution

class Solution {
    public ListNode reverseList(ListNode head) {
        if (head == null || head.next == null) {
            return head;
        }

        ListNode beforeNode = null;
        while (head != null) {
            ListNode nextNode = head.next;
            head.next = beforeNode;
            beforeNode = head;
            head = nextNode;
        }

        return beforeNode;
    }
}

post-custom-banner

0개의 댓글