題目:輸入兩個遞增排序的鍊錶,合併這兩個鍊錶並使新鍊錶中的結點仍然是按照遞增排序的。
#include#include"list.h"
using namespace std;
//struct listnode ;
listnode* mergetwolists(listnode* phead1, listnode* phead2)
else
//2.在兩條鍊錶中選擇較小值接到指標p之後
listnode* p = pmergehead;
while (p1 != nullptr && p2 != nullptr)
else
} if (p1 != nullptr)
if (p2 != nullptr)
return pmergehead;
}int main()
面試題25 合併兩個排序的鍊錶
一 題目 輸入兩個遞增排序的鍊錶,合併這兩個鍊錶並使新鍊錶中的結點仍然是按照遞增排序的。例如輸入圖3.11中的鍊錶1和鍊錶2,則合併之後的公升序鍊錶如鍊錶3所示。二 關鍵 1.遞迴過程,使用遞迴函式解決。2.乙個鍊錶是空的,結果是不為空的那個。三 解釋 1.合併兩個鍊錶的過程 鍊錶1的頭結點的值小於...
面試題25 合併兩個排序的鍊錶
輸入兩個遞增排序的鍊錶,合併這兩個鍊錶並使新鍊錶中的結點仍然是遞增排序的。定義兩個指標,分別指向這兩個鍊錶的第乙個結點。當第乙個結點的值小於第二個結點的值時,鍊錶1的頭結點將是合併後的鍊錶的頭結點。繼續比較兩個頭結點,如果第二個結點的值小,鍊錶2的頭結點將是合併剩餘結點得到的鍊錶的頭結點。packa...
面試題25 合併兩個排序的鍊錶
題目 輸入兩個遞增排序的鍊錶,合併這兩個鍊錶並使新鍊錶中的節點仍然是遞增排序的。示例 輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 4 限制 0 鍊錶長度 1000 鍊錶結構 struct listnode 因為需要生成乙個全新的鍊錶,那麼我們就重新建立乙個鍊錶來儲存遞增排序鍊錶,然後每次...