leetcode-hot链表专题——206. 反转链表

206. 反转链表

leetcode-hot链表专题——206. 反转链表_第1张图片

  • 递归法
ListNode* reverse(ListNode *pre,ListNode *cur){
        if(cur == NULL) return pre;
        ListNode *next = cur->next;
        cur->next = pre;
        return reverse(cur,next);
    }
    ListNode* reverseList(ListNode* head) {
        return reverse(NULL,head);
    }
  • 迭代法
ListNode* reverseList(ListNode* head) {
        ListNode *pre = NULL;
        ListNode *cur = head;
        while(cur != NULL){
            ListNode *next = cur->next;
            cur->next = pre;
            pre = cur;
            cur = next;
        }
        return pre;
    }

你可能感兴趣的:(leetcode题目,链表,leetcode,数据结构)