資料結構之單鏈表反轉

2021-08-16 01:59:51 字數 503 閱讀 7309

單鏈表反轉的非遞迴方法:

首先是結點的定義:

public class node 

}

使用非遞迴方法反轉單鏈表,需要設定兩個node型別的物件pre和nex,pre用來記錄head的前乙個結點,nex用來記錄head的後乙個結點,然後講head結點後移。**:

public node reversecur(node head)

return pre;

}

具體分為四個步驟:

1.記錄head的下乙個結點

2.將head.next設定為pre

3.用pre記錄當前的head

4.head結點後移

在這四個步驟中,pre結點會隨著head結點後移,並反轉了head.next的指向,當到達單鏈表末尾時,pre就完成了反轉。

資料結構 單鏈表反轉

鍊錶反轉一般有兩種解法 遞迴和迭代。首先給出鍊錶的定義 typedef struct taglnode linklist 假設鍊錶為head 1 2 3 4 5 null。linklist reverse linklist head 一開始我的想法是,先遞迴到最後一層,也就是reverse 5 這層...

資料結構 單鏈表實現反轉

如果鍊錶只有乙個或者沒有節點,則無需反轉 原鍊錶的第乙個節點即為反轉後的最後乙個元素,需要將其固定,我們叫它final 按原鍊錶的順序從第二個開始對所有節點node進行遍歷,每次將final的next重新指向node的next,將node的next重新指向head的next,將head的next重新...

資料結構 手撕單鏈表反轉

引言 今天面美團上來讓手撕單鏈表反轉,心中暗自竊喜,這麼簡單的演算法,能到今天要起飛了嗎,結果在牛客面試沒給題目介面,讓自己實現單鏈表,頓時心生畏懼,最近一直刷演算法,實現單鏈表這不是鬧呢嗎,哎,結果可想而知,面試官說我基礎不夠紮實,現在咱還是乖乖實現乙個打打基礎吧。演算法思想 思路其實很簡單,儲存...