劍指offer JZ16合併兩個排序的鍊錶

2021-10-08 17:00:31 字數 904 閱讀 7247

時間限制:c/c++ 1秒,其他語言2秒

空間限制:c/c++ 32m,其他語言64m

熱度指數:805773

本題知識點: 鍊錶

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

遞迴:

/*function listnode(x)*/

function

merge

(phead1, phead2)

if(phead2 ===

null)if

(phead1.val < phead2.val)

else

}

不遞迴:

/*function listnode(x)*/

function

merge

(phead1, phead2)

if(phead2 ===

null

)var smallhead = phead1;

var bighead = phead2;

if(phead1.val > phead2.val)

var res = smallhead;

var reshead = res;

smallhead = smallhead.next;

while

(smallhead !==

null

&& bighead !==

null

)else}if

(smallhead ===

null)if

(bighead ===

null

)return reshead;

}

劍指offer JZ16合併兩個排序的鍊錶

輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。設定乙個res空鍊錶 每次對兩個鍊錶的頭結點的val進行比較,把較小的那個放到res鍊錶中,然後移動頭結點 當某乙個鍊錶遍歷結束時,跳出while,然後把另乙個鍊錶中剩餘的結點一起放在res後面即可 codi...

劍指Offer NO 16 合併兩個排序的列表

題目描述 輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。解題思路 使用遞迴方法 新建乙個鍊錶reslist用作輸出結果,輸入鍊錶為list1和list2,當list1.val反之,reslist list2,reslist.next merge list...

劍指offer 16 合併兩個排序的鍊錶

題目 輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。思路 先對兩個鍊錶用容器進行 然後在容器中對容器內的元素進行排序,最後進行合成鍊錶。struct listnode class solution while phead2 null sort vec.b...