劍指offer 合併排序鍊錶

2021-09-25 08:35:30 字數 597 閱讀 2915

輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。

比較節點大小,小的一方放到新建鍊錶後,將其向後移動。注意判空以及後續處理。

遞迴:

public listnode merge(listnode list1,listnode list2) 

if(list2 == null)

if(list1.val <= list2.val)else

}

非遞迴:

/*

public class listnode

}*/public class solution

if(list2 == null)

listnode list = null;

listnode head = null;

while(list1 != null && list2 != null)else

}elseelse}}

if(list1 == null)

if(list2 == null)

return head;

}}

合併排序鍊錶(劍指offer)

合併排序鍊錶 劍指offer struct listnode listnode mergelist listnode pheadlist1,listnode pheadlist2 判斷指標是否為空 if pheadlist2 null listnode pmergelisthead null 合併後...

劍指offer 合併鍊錶

輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減的規則。非遞迴版本 struct listnode class solution else current head while phead1 null phead2 null else 若其中乙個鍊錶遍歷完成,則...

劍指offer 樹的子結構 合併排序鍊錶

一直對遞迴用的太機械,每寫乙個遞迴都想一下子想到方方面面,扣清除每個位置的語句執行時會發生什麼,本是優點,但是由於遞迴的深度,完全靠大腦想象整個過程相當複雜。最近看到了劍指offer上的兩個遞迴題 我想過用別的方法,但是沒想出來,也沒查出來,而且好的遞迴函式邏輯性很強 感覺如果建模建的好,邏輯清晰,...