示例:
輸入:1-
>2-
>3-
>4-
>5-
>null
輸出:5
->4-
>3-
>2-
>1-
>null
思想:
先準備乙個新的鍊錶作為結果鍊錶,遍歷原鍊錶,每遍歷乙個節點,就把該節點首插到結果鍊錶中。
主要步驟是:
(1)遍歷
(2)首插
具體實現:
定義變數
(1)定義 cur 變數作為當前節點,cur = head;
(2)定義結果鍊錶 result
遍歷原鍊錶
(1)原鍊錶遍歷的條件:cur != null;
(2)節點的增進:cur = cur.next;
在遍歷內部完成向結果鍊錶的首插
cur.next = result;
result = cur;
**實現:
package www.fanfan.com;
/** * author:kelly_fanfan
*/public
class
leetcode206
}class
solution
return result;}}
}
淺藍色文字 資料結構 單鏈表反轉
鍊錶反轉一般有兩種解法 遞迴和迭代。首先給出鍊錶的定義 typedef struct taglnode linklist 假設鍊錶為head 1 2 3 4 5 null。linklist reverse linklist head 一開始我的想法是,先遞迴到最後一層,也就是reverse 5 這層...
反轉乙個單鏈表
思路二 反轉乙個鍊錶 示例 結構體定義 先對原鍊錶做頭刪操作,再對新鍊錶做頭插定義乙個新head頭指標,標記為newhead,將它初始為null,並非指向null,最後我們選擇返回這個newhead指標作為新鍊錶的頭指標。定義乙個結點node作為 臨時中轉站 初始化與否並無大影響。進行迴圈遍歷鍊錶各...
反轉乙個單鏈表
反轉乙個單鏈表。示例 輸入 1 2 3 4 5 null 輸出 5 4 3 2 1 null高階 你可以迭代或遞迴地反轉鍊錶。你能否用兩種方法解決這道題?解題心路 迭代好說,遞迴 第一思路將後面的全部翻轉好,再將最後乙個元素的next指向當前。返回最後乙個元素的指標,那就有 當前節點指標 head ...