資料結構 反轉乙個單鏈表(基於Java語言實現)

2021-09-17 21:22:59 字數 771 閱讀 2568

示例:

輸入: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 ...