溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

[LeetCode]206. Reverse Linked List

發布時間:2020-07-11 09:34:23 來源:網絡 閱讀:448 作者:風子余 欄目:編程語言

206. Reverse Linked List

Reverse a singly linked list.


反轉鏈表:

1)對于空鏈表或者一個節點鏈表無需反轉,返回即可。


設計思路:

1)首先把當前節點外的剩下節點保存在next中。

2)處理當前節點,主要把當前節點的next指針指向部分反轉鏈表list中。

3)再把加入了當前節點的的head賦值給list即可。

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

設計盲區:不要老想著對新鏈表指向list進行處理,換位思考處理head,會節省不少代碼量

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女