1. 程式人生 > >【leetcode 簡單】 第六十題 反轉鏈表

【leetcode 簡單】 第六十題 反轉鏈表

示例 reverse bsp tno sel leetcode rev lis div

反轉一個單鏈表。

示例:

輸入: 1->2->3->4->5->NULL
輸出: 5->4->3->2->1->NULL

進階:
你可以叠代或遞歸地反轉鏈表。你能否用兩種方法解決這道題?

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */
struct ListNode* reverseList(struct ListNode* head) {
    
if (NULL == head || NULL == head->next) { return head; } struct ListNode* a=head; struct ListNode* b=head->next; struct ListNode* c; head->next = NULL; while (b) { c = b->next; b->next = a; a = b; b = c; } head
= a; return head; }

【leetcode 簡單】 第六十題 反轉鏈表