付費限定

串列應用: 反轉整個串列Reverse Linked List_Leetcode #206_Leetcode 精選75

閱讀時間約 3 分鐘
raw-image

題目敘述

題目的輸入會給我們一個串列,要求我們從頭到尾反轉整個串列。

如果輸入是1 -> 2 -> 3,那麼輸出就是 3 -> 2 -> 1


測試範例

Example 1:

raw-image
Input: head = [1,2,3,4,5]
Output: [5,4,3,2,1]

Example 2:

raw-image
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

進階提問

Follow up: A linked list can be reversed either iteratively or recursively. Could you implement both?

試著用遞迴法和迭代法去實現。


演算法

使用到double pointers 雙指針的技巧。

這邊的用法借用到sliding window 滑窗的概念

每一次迭代處理鄰近的兩個節點改變next的方向,從指向後方轉為指向前方。這次迭代處理完,再滑動到下一組鄰近的兩個節點,用同樣的方式去反轉,一直到抵達linked list 終點為止。

遞迴、DFS演算法的精隨也在此,尋找問題共通的形式,找出共同的最小操作單元,接著用遞迴去探索整個搜索空間Search space,解出原本的問題。

raw-image

遞迴法 程式碼

以行動支持創作者!付費即可解鎖
本篇內容共 1576 字、1 則留言,僅發佈於Leetcode精選75題 解析+統整你目前無法檢視以下內容,可能因為尚未登入,或沒有該房間的查看權限。
86會員
425內容數
由有業界實戰經驗的演算法工程師, 手把手教你建立解題的框架, 一步步寫出高效、清晰易懂的解題答案。 著重在讓讀者啟發思考、理解演算法,熟悉常見的演算法模板。 深入淺出地介紹題目背後所使用的演算法意義,融會貫通演算法與資料結構的應用。 在幾個經典的題目融入一道題目的多種解法,或者同一招解不同的題目,擴展廣度,並加深印象。
留言0
查看全部
發表第一個留言支持創作者!
題目會給定給我們一顆二元樹的根結點, 要求我們輸出上下顛倒的Level-order traversal的拜訪結果。
題目會給我們一顆二元樹的根節點, 要求我們對齊根節點正中央的虛擬分割線,反轉整顆二元樹。
這題就是經典的考排序驗算法, 不管在教科書、上機考、面試白板題都是一個很基本又滿熱門的題目。 題目會給定一個輸入陣列,要求我們實作一個排序演算法,把陣列元素從小到大排好。
題目會給定我們一個陣列,還有一個整數值x 問我們每次從陣列頭部或尾部取一個整數,最少需要幾次才能使取出的整數總和為x?
題目會給定一顆二元樹的根結點,要求我們驗證這一顆樹是否為合法的二元搜索樹, 也就是所謂的Binary search tree, aka BST?
題目會給定給我們一顆二元樹的根結點, 要求我們輸出上下顛倒的Level-order traversal的拜訪結果。
題目會給我們一顆二元樹的根節點, 要求我們對齊根節點正中央的虛擬分割線,反轉整顆二元樹。
這題就是經典的考排序驗算法, 不管在教科書、上機考、面試白板題都是一個很基本又滿熱門的題目。 題目會給定一個輸入陣列,要求我們實作一個排序演算法,把陣列元素從小到大排好。
題目會給定我們一個陣列,還有一個整數值x 問我們每次從陣列頭部或尾部取一個整數,最少需要幾次才能使取出的整數總和為x?
題目會給定一顆二元樹的根結點,要求我們驗證這一顆樹是否為合法的二元搜索樹, 也就是所謂的Binary search tree, aka BST?
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
題目敘述 Merge Nodes in Between Zeros 給定一個鏈結串列,合併非零區間的節點(以加總的方式合併),輸出合併後的鏈結串列。
Thumbnail
這篇文章,會帶著大家複習以前學過的遞回框架, 並且鏈結串列的概念與應用為核心, 貫穿一些相關聯的題目,透過框架複現來幫助讀者理解這個演算法框架。 遞回框架 尋找共通模式(common pattern),對應到演算法的General case 確立初始條件(initial conditio
Thumbnail
題目敘述 題目會給定我們一條鏈結串列Linked list的起始節點,要求我們刪除Linked List正中央的節點。 註: 正中央的節點,題目定義為索引為floor( 串列長度 / 2 ) 的節點,索引從零(Head Node)出發開始數。 例如 1 -> 2 -> 3 -> 4 鏈結
Thumbnail
題目會給定我們一個串列,和一個n值,要求我們刪除尾巴數來的第n個節點。 例如 1->2->3->4->5 和 給定n值=2,要求我們刪除尾巴數來的第2個節點。 尾巴數來的第2個節點是4,刪除之後,更新連結,輸出答案如下 1->2->3->5
Thumbnail
題目的輸入會給我們一個串列,要求我們從頭到尾反轉整個串列。 例子: 如果輸入是1 -> 2 -> 3,那麼輸出就是 3 -> 2 -> 1
Thumbnail
去除各種奇怪的理由之後,投資的基本問題是:企業營運或產業景氣狀況如何?股價是否相對較低?景氣展望能否好轉?市場資金狀況如何?股市裡的量價關係、均線狀態、指標股表現等技術分析現象是否有利於漲勢?
當前80%台灣基層人民,面對過勞、低薪、無薪假、高房價、通貨膨漲、稅制不公、失業率攀升、工作前景差、中年被迫失業等困境,根本毫無招架之力。貧富差距的擴大、階級複製的加劇,更讓當今台灣的青年對自身與下一代的未來毫無希望。不敢成家與無法立業的現象,連帶加速台灣的少子化與高齡化,成為台灣當前最嚴重的國安問
增脂增肌_增體重的狀況 在此狀況下,生活形態主要為不動或是懶的動,又食慾好,吃得滿多的,不然就是嘴很饞念,很想吃東西,所以除了三餐又多了很多飲料和零食,另外,還少洗手間,吃的東西都囤在身體裡,這些狀況都會讓自己的身體更重(也就是只進不出),所以,減肥也很像極簡一樣,有進有出呢! 少動 吃多
Thumbnail
有資格限制及時間限定的社會福利,就如同它的限制一樣幫助有限! 現有的制度幫不了窮人,健保制度是有錢人在享用 各國的基本收入制度停留在實驗階段 我們的選舉制度只選出社會菁英 循環經濟需要基本收入制的支持
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
題目敘述 Merge Nodes in Between Zeros 給定一個鏈結串列,合併非零區間的節點(以加總的方式合併),輸出合併後的鏈結串列。
Thumbnail
這篇文章,會帶著大家複習以前學過的遞回框架, 並且鏈結串列的概念與應用為核心, 貫穿一些相關聯的題目,透過框架複現來幫助讀者理解這個演算法框架。 遞回框架 尋找共通模式(common pattern),對應到演算法的General case 確立初始條件(initial conditio
Thumbnail
題目敘述 題目會給定我們一條鏈結串列Linked list的起始節點,要求我們刪除Linked List正中央的節點。 註: 正中央的節點,題目定義為索引為floor( 串列長度 / 2 ) 的節點,索引從零(Head Node)出發開始數。 例如 1 -> 2 -> 3 -> 4 鏈結
Thumbnail
題目會給定我們一個串列,和一個n值,要求我們刪除尾巴數來的第n個節點。 例如 1->2->3->4->5 和 給定n值=2,要求我們刪除尾巴數來的第2個節點。 尾巴數來的第2個節點是4,刪除之後,更新連結,輸出答案如下 1->2->3->5
Thumbnail
題目的輸入會給我們一個串列,要求我們從頭到尾反轉整個串列。 例子: 如果輸入是1 -> 2 -> 3,那麼輸出就是 3 -> 2 -> 1
Thumbnail
去除各種奇怪的理由之後,投資的基本問題是:企業營運或產業景氣狀況如何?股價是否相對較低?景氣展望能否好轉?市場資金狀況如何?股市裡的量價關係、均線狀態、指標股表現等技術分析現象是否有利於漲勢?
當前80%台灣基層人民,面對過勞、低薪、無薪假、高房價、通貨膨漲、稅制不公、失業率攀升、工作前景差、中年被迫失業等困境,根本毫無招架之力。貧富差距的擴大、階級複製的加劇,更讓當今台灣的青年對自身與下一代的未來毫無希望。不敢成家與無法立業的現象,連帶加速台灣的少子化與高齡化,成為台灣當前最嚴重的國安問
增脂增肌_增體重的狀況 在此狀況下,生活形態主要為不動或是懶的動,又食慾好,吃得滿多的,不然就是嘴很饞念,很想吃東西,所以除了三餐又多了很多飲料和零食,另外,還少洗手間,吃的東西都囤在身體裡,這些狀況都會讓自己的身體更重(也就是只進不出),所以,減肥也很像極簡一樣,有進有出呢! 少動 吃多
Thumbnail
有資格限制及時間限定的社會福利,就如同它的限制一樣幫助有限! 現有的制度幫不了窮人,健保制度是有錢人在享用 各國的基本收入制度停留在實驗階段 我們的選舉制度只選出社會菁英 循環經濟需要基本收入制的支持