Leetcode/LeetCode75

[Linked List][Easy] 206. Reverse Linked List

자전거통학 2023. 12. 18. 05:46

https://leetcode.com/problems/reverse-linked-list/description

 

Reverse Linked List - LeetCode

Can you solve this real interview question? Reverse Linked List - Given the head of a singly linked list, reverse the list, and return the reversed list.   Example 1: [https://assets.leetcode.com/uploads/2021/02/19/rev1ex1.jpg] Input: head = [1,2,3,4,5] O

leetcode.com

 

 

Q. 주어진 노드를 뒤집고, 그 head를 반환하라. 

 

Solution. 

  단일 링크드 리스트 및 그 연결을 제대로 다룰줄 아는지 묻는 문제. 

  현재 노드의 next를 이전 노드로 포인팅 하고, 다음 노드로 정상적으로 진행하며 이 과정을 진행케 하는 것이 문제 풀이의 핵심. 

 

ListNode* reverseList(ListNode* head)
{ 
    ListNode* node = head;
    ListNode* prev = NULL;
    while (node != NULL)
    {
        ListNode* next = node->next;	// 다음 노드 backup.
        node->next = prev;		// 직전 노드 포인팅. 
        prev = node;			// 직전 노드 교체 및 backup.
        node = next;			// 진행.
    }
    return prev;
}