3 劍指offer 合併兩個有序的鍊錶

2021-07-31 07:32:46 字數 480 閱讀 1707

輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。要求輔助空間是o(

1)

假設兩個鍊錶的頭指標分別是phead1和phead2.

基本想法是:用乙個指標p指向合成鍊錶的尾節點,p1指向phead1鍊錶中等待比較的節點,p2指向phead2鍊錶中等待比較的節點,那麼每一次比較p1指向的節點和p2指向的節點的大小,繼而決定誰先進入新合成的鍊錶。

/*

struct listnode

};*/

class solution else

while(p1!=

null

&& p2!=

null)else

}if(p1==

null)else

return head;

}};

劍指offer 合併兩個有序鍊錶

依次比較兩個鍊錶的首結點,取較小的的結點放到第三個鍊錶尾,同時移動較小節點所在鍊錶的指標指向下乙個節點。步驟一結果會有乙個鍊錶先遍歷結束 第三個鍊錶尾結點指向剩餘未遍歷結束的鍊錶 返回第三個鍊錶首結點 struct listnode class solution else merlist merli...

劍指offer 合併兩個有序鍊錶

題目描述 輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。參考思路 逐個比較兩個鍊錶的第乙個結點,將結點值小的那個結點新增到乙個新的鍊錶上。直到最後乙個兩個鍊錶都合併到新的鍊錶上結束。參考 public class listnode public clas...

劍指OFFER 合併兩個有序的鍊錶

輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。再做這道題就是想不起來書上怎麼做的了,但是最近看stl裡面全是這種基礎的合併啊,比較啊。就算不會也看會了。迴圈我用了4個指標。p和q分別指向兩個鍊錶當前需要比較的元素,l和k分別代表 新 的鍊錶的舊節點和新節...