【LeetCode】206. 反转链表

发布时间:2024年01月17日

leetcode链接 206. 反转链表
在这里插入图片描述

#include <stdio.h>

struct ListNode {
    int val;
    struct ListNode* next;
};
typedef struct ListNode ListNode;

struct ListNode* reverseList1(struct ListNode* head) {
    if (head != NULL) {
        ListNode* n1 = NULL;
        ListNode* n2 = head;
        ListNode* n3 = n2->next;
        while (n2 != NULL) {
            n2->next = n1;
            n1 = n2;
            n2 = n3;
            if (n3 != NULL) {
                n3 = n3->next;
            }
        }
        return n1;
    }
    return NULL;
}

ListNode* reverseList2(ListNode* head) {
    if (head) {
        ListNode* newhead = NULL;
        ListNode* cur = head;
        while (cur) {
            ListNode* next = cur->next;
            cur->next = newhead;
            newhead = cur;
            cur = next;
        }
        return newhead;
    }
    return NULL;
}
文章来源:https://blog.csdn.net/m0_52602233/article/details/135646480
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。