鏈表面試題

struct ListNode
{
	int 	     m_nKey;
	ListNode     *m_pNext;
};


Q1:單鏈表反轉。

Q2:檢測單鏈表是否有環,如果有環的話,找到環的入口點。
Q3:檢測兩個單鏈表是否相交,如果相交,返回相交節點。
Q4:從尾到頭輸出鏈表。
Q5:在O(1)時間刪除鏈表節點。
Q6:只給定單鏈表中某個非空節點p,在p前面插入一個節點。
Q7:給定鏈表頭結點,刪除鏈表中倒數第k個節點。
Q8:鏈表排序。
Q9:兩個有序鏈表合併。
Q10:找出鏈表的中間元素。
A10:使用快慢指針,慢指針每次向前走一步,快指針每次向前走兩步,快指針爲NULL時,慢指針就指向中間元素。

發佈了102 篇原創文章 · 獲贊 8 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章