小渣渣的演算法學習筆記:2018秋招備戰
資料結構類演算法總結:鍊錶
1.題目描述:
乙個鍊錶中包含環,請找出該鍊錶的環的入口結點。2.**實現:
public classsolution23}public static voidmain(string args)else
}//在鍊錶存在環的前提下找到環中的任意乙個結點
publiclistnode meetingnode(listnode head)
}return null;
}//求出環中的結點數目,找到環的入口結點
publiclistnode entrynodeofloop(listnode head)
//先移動pnode1,次數為環中結點個數
pnode1 = head;
for(inti=0;i < nodesinloop;++i)
//再移動pnode1和pnode2
listnode pnode2 = head;
while(pnode1 != pnode2)
returnpnode1;//返回環的入口結點
}}
劍指offer第14題 反轉鍊錶
定義乙個函式,輸入乙個鍊錶的頭節點,反轉該鍊錶並輸出反轉後鍊錶的頭節點。示例 輸入 1 2 3 4 5 null 輸出 5 4 3 2 1 null 限制 0 節點個數 5000 思路 新鍵乙個虛擬前驅節點,每次讓當前節點指向我們的上乙個前驅節點。就可以實現反向整個鍊錶了。其實並不難,鍊錶題自己多畫...
劍指Offer 第24題 反轉鍊錶
第24題 反轉鍊錶 題目 輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭。我的思路 建立鍊錶一般可分為頭插法和尾插法兩種方式,那麼這裡可以通過遍歷原鍊錶採用頭插法來建立新鍊錶。自己的low public class solution return head.next 優雅 public class so...
劍指Offer刷題 鍊錶
劍指 offer 18.刪除鍊錶的節點 難度簡單 給定單向鍊錶的頭指標和乙個要刪除的節點的值,定義乙個函式刪除該節點。返回刪除後的鍊錶的頭節點。注意 此題對比原題有改動 示例 1 輸入 head 4,5,1,9 val 5 輸出 4,1,9 解釋 給定你鍊錶中值為 5 的第二個節點,那麼在呼叫了你的...