單鏈表翻轉
//將單鏈表反轉
public
static
void
reversetlist
(heronode head)
//定義乙個輔助的指標(變數),幫助我們遍歷原來的鍊錶
heronode cur = head.next;
heronode next = null;
// 指向當前節點[cur]的下乙個節點
heronode reversehead =
newheronode(0
,"",""
);//遍歷原來的鍊錶,每遍歷乙個節點,就將其取出,並放在新的鍊錶reversehead 的最前端
//動腦筋
while
(cur != null)
//將head.next 指向 reversehead.next , 實現單鏈表的反轉
head.next = reversehead.next;
}
騰訊面試題 單鏈表的反轉
鍊錶反 建立乙個新的鍊錶,遍歷舊的鍊錶,每取出來乙個資料就按照頭插法的方式插入行的鍊錶。直接在此鍊錶上操作,完成鍊錶的反轉。其實也是按照頭插法來加入節點的,先定義乙個輔助指標,指向第乙個節點,然後將頭結點的next置為空,最後用輔助指標遍歷鍊錶,每取出乙個元素就按頭插法鏈結到head。我採用的是第一...
單鏈表面試題(百度 騰訊 )
目錄 學習了單鏈表的應用 面試題 1.求單鏈表的有效節點 思路 思路 備註 思路 備註 思路 備註 5.合併兩個有序單鏈表,合併之後,依然有序 思路 備註 1 新增輔助變數num,用於記錄單鏈表有效節點的個數,新增curnode指標,用於遍歷單鏈表的所有節點 2 num在遍歷單鏈表的所有節點過程中,...
面試題 單鏈表反轉
問題 定義乙個函式,輸入乙個鍊錶的頭結點,反轉該鍊錶並輸出反轉後鍊錶的頭結點。一 非遞迴演算法 假設有鍊錶a b c d e f g。在反轉鍊錶過程中的某一階段,其鍊錶指標指向為 a b c d e f g。也就是說在結點d之前的所有結點都已經反轉,而結點d後面的結點e開始的所有結點都沒有反轉。這樣...