Coding Test/LeetCode

[LeetCode] 206. Reverse Linked List c++

owls 2023. 1. 4. 23:00
728x90

문제

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

 

단일 링크드 리스트가 주어지면 순서를 뒤집는 문제입니다.

 

문제 해결

class Solution {
public:
    ListNode* reverseList(ListNode* head) {
        ListNode *nextNode, *prevNode = NULL;
        while(head){
            nextNode = head->next;
            head->next = prevNode;
            prevNode = head;
            head = nextNode;
        }
        return prevNode;
    }
};

 

다른 풀이

class Solution {
public:
    ListNode* reverseList(ListNode* head, ListNode* nextNode = NULL, ListNode* prevNode = NULL) {
        return head ? reverseList(head->next, (head->next = prevNode, nextNode), head) : prevNode;
    }
};
728x90