每日一練(13) 反轉鍊錶

2022-09-19 17:30:14 字數 826 閱讀 2942

title: 每日一練(13):反轉鍊錶

categories:[劍指offer]

tags:[每日一練]

date: 2022/01/26

定義乙個函式,輸入乙個鍊錶的頭節點,反轉該鍊錶並輸出反轉後鍊錶的頭節點。

示例:輸入: 1->2->3->4->5->null

輸出: 5->4->3->2->1->null

限制:0 <= 節點個數 <= 5000

具體過程如下:

假設鍊錶為 1→2→3→∅,我們想要把它改成∅←1←2←3。

在遍歷鍊錶時,將當前節點的 next 指標改為指向前乙個節點。由於節點沒有引用其前乙個節點,因此必須事先儲存其前乙個節點。在更改引用之前,還需要儲存後乙個節點。最後返回新的頭引用。

複雜度分析

listnode* reverselist(listnode* head) 

listnode *prev = nullptr;

listnode *curr = head;//雙指標解法

while (curr)

return prev;

}

複雜度分析

listnode* reverselist(listnode* head) 

listnode* newhead = reverselist(head->next);

head->next->next = head;

head->next = nullptr;

return newhead;

}

每日一練 13

談談你對ajax 的理解?概念 特點 作用 select 教師號,sum case when 星期號 1 and 是否有課 有 then 1 else 0 end as 星期一,sum case when 星期號 2 and 是否有課 有 then 1 else 0 end as 星期二,sum c...

每日一練(10) 刪除鍊錶的節點

title 每日一練 10 刪除鍊錶的節點 categories 劍指offer tags 每日一練 date 2022 01 23 給定單向鍊錶的頭指標和乙個要刪除的節點的值,定義乙個函式刪除該節點。返回刪除後的鍊錶的頭節點。注意 此題對比原題有改動 示例 1 輸入 head 4,5,1,9 va...

每日一練4

員工表emp 員工編號eid,姓名ename,工作職位title,僱傭日期hiretime,工資salary,獎金bonus,部門depart 部門表dept 部門編號did,名稱dname,部門領導leader 員工資料 1001,張三 銷售 1999 12 1 3000.0,1100.0,102...