第一天反转链表

这是牛客网的第一个题,反转链表,人家写的简单,但是我感觉难,可能是我链表学的一般吧。

我的解题代码如下:

struct ListNode* ReverseList(struct ListNode* pHead) {  
    if (pHead == NULL || pHead->next == NULL) {  
        return pHead;  
    }  
      
    struct ListNode *prev = NULL;  
    struct ListNode *curr = pHead;  
      
    while (curr != NULL) {  
        struct ListNode *next = curr->next;  
        curr->next = prev;  
        prev = curr;  
        curr = next;  
    }  
      
    return prev;  
}

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