劍指offer 合併鍊錶

2021-08-02 12:45:24 字數 553 閱讀 4141

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

非遞迴版本:

/*

struct listnode

};*/

class solution

else

current=head;

while(phead1!=null&&phead2!=null)

else

}//若其中乙個鍊錶遍歷完成,則直接將另外鍊錶掛在新鍊錶後面。

if(phead1==null)

current->next=phead2;

if(phead2==null)

current->next=phead1;

return head;

}};

遞迴版本:

/*

struct listnode

};*/

class solution

else

}};

劍指Offer 有序鍊錶的合併

題目 將兩個遞增的單鏈表合併成乙個遞增的單鏈表 可以用遞迴和迴圈兩種方法實現。劍指offer 兩個遞增的單鏈表,合併成乙個遞增的單鏈表 include using namespace std struct listnode 方法一 遞迴,另建乙個新的鍊錶,儲存值 listnode merge1 li...

合併排序鍊錶(劍指offer)

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

劍指offer 合併排序鍊錶

輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。比較節點大小,小的一方放到新建鍊錶後,將其向後移動。注意判空以及後續處理。遞迴 public listnode merge listnode list1,listnode list2 if list2 nul...