206. 역방향 연결 리스트[Leetcode][C++]

모든 제안을 환영합니다. 당신이 그것을 좋아한다면 찬성하십시오. 고맙습니다.


Leetcode Problem Link: 206. Reverse Linked List


재귀 사용:

class Solution {
public:
    ListNode* reverseList(ListNode* head) {
        if(!head || !head->next)
            return head;
        ListNode *ptr=reverseList(head->next);
        head->next->next=head;
        head->next=NULL;
        head=ptr;
        return head;
    }
};



반복 사용:

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



모든 제안을 환영합니다. 당신이 그것을 좋아한다면 찬성하십시오. 고맙습니다.

좋은 웹페이지 즐겨찾기