鍊錶是面試時被提及最頻繁的資料結構。鍊錶就是通過指標將乙個個節點連線起來。鍊錶是非連續的動態記憶體空間,鍊錶的查詢比陣列慢,但是新增和刪除比陣列快。
public class listnode
}
public void insertlist(listnode head, int val) else
p.next = tempnode;
}}
public void deletelistnode(listnode head, int val) else
if (p.next !=null)
}}
方法1:使用棧結構
public void printlist1(listnode head)
while (!stack.isempty())
}
方法2:遞迴
public void printlist2 (listnode head)
system.out.print(head.val+" ");
}}
注:遞迴的過程相當於棧。
public listnode reverselist (listnode head)
return pre;
}
學習資料結構與演算法的記錄和整理,如有錯誤或意見請幫忙指出,以後會持續更新。。。。
參考書籍:
《程式設計師**面試指南:it名企演算法與資料結構題目最優解》—左程雲
《劍指offer》 —何海濤
資料結構演算法題目
從上到下按層列印二叉樹,同一層結點從左至右輸出。每一層輸出一行。幾個演算法題目 請實現乙個函式按照之字形列印二叉樹,即第一行按照從左到右的順序列印,第二層按照從右至左的順序列印,第三行按照從左到右的順序列印,其他行以此類推。幾個演算法題目 給乙個鍊錶,若其中包含環,請找出該鍊錶的環的入口結點,否則,...
演算法與資料結構最優解例項總結
1.棧與佇列 1.1 貓狗佇列 新增佇列物件 class petenterqueue count 為時間戳 class dogcatqueue 1.2 漢諾塔 process num,lef,middle,right,from,to 4.2 最小路徑 new 乙個 d i j min d i 1 j...
資料結構與演算法 鍊錶題目集合
參考自 jark s blog 鍊錶問題在面試過程中也是很重要也很基礎的一部分,鍊錶本身很靈活,很考查程式設計功底,所以是很值得考的地方。節點定義如下 struct node 1 以o 1 時間刪除某個節點題目描述 給定鍊錶的頭指標和乙個節點指標,在o 1 時間刪除該節點。google面試題 o 1...