面試題 合併兩個有序的鍊錶

2021-09-30 13:31:31 字數 493 閱讀 6345

題目:輸入兩個遞增有序的鍊錶,合併這兩個鍊錶後,使新鍊錶中的結點 也是遞增有序的。

//遞迴方式實現兩個有序鍊錶的合併

struct listnode

};listnode* merge(listnode* phead1, listnode* phead2)

else

if (phead2 ==

null)

listnode* mergehead =

null;

//鍊錶1的值小於鍊錶2的值

if (phead1->_value_value)

else

return mergehead;

}

//列印及測試**

void print(listnode* head)

cout <<

"\n";

}void test()

開心IT面試題 兩個有序鍊錶的合併

題目 有兩個有序鍊錶,各自內部是有序的,但是兩個鍊錶之間是無序的 思路 假設兩個有序鍊錶分別為first和second。建立兩個單鏈表p1,p2。分別從煉表頭開始遍歷,比較p1 data和p2 data,若p1 data p2 data,取p2,p1 p1 next 否則取p1,p2 p2 next...

鏈表面試題 合併兩個有序鍊錶, 合併後依然有序

合併兩個有序鍊錶 slistnode mergeorderedlist slistnode p1first,slistnode p2first else else else 乙個鍊錶為空了 if cur1 null if cur2 null return result void testmerge ...

劍指Offer 面試題17 合併兩個有序鍊錶

輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。分析 這道題有點類似於面試題4 替換空格中的擴充套件題目 兩個有序陣列合併。大體思路上是一致的,很類似,分別遍歷兩個鍊錶,將小的結點鏈結到新煉表表尾。後期處理有點區別就是,合併陣列在迴圈結束後,需要用whil...