# Leetcode 206. Reverse Linked List ###### tags: `Leetcode` 題目 Given the head of a singly linked list, reverse the list, and return the reversed list. Example 1: Input: head = [1,2,3,4,5] Output: [5,4,3,2,1] Example 2: Input: head = [1,2] Output: [2,1] Example 3: Input: head = [] Output: [] Constraints: The number of nodes in the list is the range [0, 5000]. -5000 <= Node.val <= 5000 ``` /** * Note: The returned array must be malloced, assume caller calls free(). */ /** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ struct ListNode* reverseList(struct ListNode* head){ if(head == NULL) { return NULL; } struct ListNode* next; struct ListNode* pre; struct ListNode* current; next = NULL; pre = NULL; current = head; while(current!=NULL) { next = current->next; current->next = pre; pre = current; current = next; } return pre; } ```