leetcode 翻转链表 简单

 

递归、非递归都可

//class Solution {
//public:
//    ListNode* reverseList(ListNode* head) {
//        if(head == nullptr || head -> next == nullptr) return head;
//        auto ret = reverseList(head -> next);
//        head -> next -> next = head;
//        head -> next = nullptr;
//        return ret;
//    }
//};

class Solution {
public:
    ListNode* reverseList(ListNode* head) {
        ListNode *pre = nullptr;
        while(head) {
            ListNode *tmp = head -> next;
            head -> next = pre;
            pre = head;
            head = tmp;
        }
        return pre;
    }
};

 

posted @ 2021-07-25 00:06  rookie_Acmer  阅读(23)  评论(0)    收藏  举报