首先看鍊錶結構:
public class listnode}
本題目要求把傳入兩個鍊錶,根據每個元素的val大小,按順序把兩個鍊錶重新組裝起來,組裝為乙個鍊錶。
比如1-3-5-7和2-4-6-8兩個鍊錶,組裝起來就是1-2-3-4-5-6-7-8
先看看我的答案,巨長無比還不好理解,想法是這樣的:就是根據兩個鍊錶遍歷比大小,新建乙個新的鍊錶---分別用指標遍歷兩個鍊錶,對比當前元素,哪個小就把哪個的值傳入新聯表的新建元素中,然後後移一位。
class solution else if(l2 == null) return l1;boolean bool = false;
listnode l0 = new listnode(0);
listnode first = l0;
while(true)
if(l2 == null)
listnode mergehead;
if(l1.val < l2.val)
else
return mergehead;
}}
這就是差距。。。
遞迴合併兩個有序鍊錶
遞迴 程式呼叫自身的程式設計技巧稱為遞迴。一般來說,遞迴需要有邊界條件 遞迴前進段和遞迴返回段。當邊界條件不滿足時,遞迴前進 當邊界條件滿足時,遞迴返回。遞迴終止條件 遞迴的終止條件一般定義在遞迴函式內部,在遞迴呼叫前要做乙個條件判斷,根據判斷的結果選擇是繼續呼叫自身,還是return 返回終止遞迴...
合併兩個排序的鍊錶 鍊錶 遞迴
題目描述 輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。思路分析 用遞迴思想,依次將兩個鍊錶的每個元素遞迴對比後實現,注意此題考查 的魯棒性,故判斷條件不能少!function listnode x function merge phead1,phead...
鍊錶反轉的兩個方法 迭代和遞迴
記錄鍊錶中的三個連續節點 reverse first,second。在每輪迭代中,從原煉表中提取first並將它插入逆鍊錶的開頭。一直保持first指向原鍊錶剩餘節點的首節點,second指向原鍊錶剩餘節點的第二個節點,reverse指向逆鍊錶的首節點 public node reverse nod...