面試題 17 合併兩個排序的鍊錶

2022-08-03 16:03:19 字數 678 閱讀 8439

面試題 17:合併兩個排序的鍊錶

題目:輸入兩個遞增排序的鍊錶,合併這兩個鍊錶並使新鍊錶中的結點仍然是按 照遞增排序的。

兩個指標指向兩個鍊錶的頭結點,取其中值小的作為新鍊錶的頭結點,和之前的結點串聯,如此遞迴。

注意用例:

兩個鍊錶都為null;

其中乙個鍊錶為null;

兩個鍊錶有多個結點,有相同的值,不同的值。

package

offer;

/*面試題 17:合併兩個排序的鍊錶

題目:輸入兩個遞增排序的鍊錶,合併這兩個鍊錶並使新鍊錶中的結點仍然是按 照遞增排序的。

*/public

class

problem17

public

static

void

main(string args)

public

listnode mergelist(listnode head1, listnode head2)

else

if (head2 == null

) listnode mergehead = null

;

if (head1.data else

return

mergehead;

}}

面試題17 合併兩個排序的鍊錶

題目描述 輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。hint 請務必使用鍊錶。輸入 輸入可能包含多個測試樣例,輸入以eof結束。對於每個測試案例,輸入的第一行為兩個整數n和m 0 n 1000,0 m 1000 n代表將要輸入的第乙個鍊錶的元素的個數...

面試題17 合併兩個排序的鍊錶

題目 輸入兩個遞增排序的鍊錶,合併這兩個鍊錶並使新鍊錶中的結點仍然是按照遞增排序的。非遞迴 第一種方法 非遞迴 struct listnode listnode mergetwolist listnode plistonehead,listnode plisttwohead 如果第二個鍊錶為空,則第...

面試題17 合併兩個排序的鍊錶

struct listnode 面試題17 合併兩個排序的鍊錶 include stdafx.h include list.h include include listnode merge listnode phead1,listnode phead2 else return pmergedhead...