劍指offer 16 合併兩個排序的鍊錶

2021-09-10 14:24:19 字數 693 閱讀 8667

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

時間限制:1秒 空間限制:32768k 熱度指數:366049

本題知識點: 鍊錶

新建乙個鍊錶,然後兩個煉表頭元素比較,取較小值加入到鍊錶中

做這道題做了很久,雖然很簡單,但總報錯說死迴圈,後來發現原來是指標某些情況處理不太好,讓指標的next指向了自己,導致了死迴圈,引以為戒

/*

struct listnode

};*/

class

solution

else

while

(p && q)

else

tail=tail-

>next;}if

(q) tail-

>next = q;

if(p) tail-

>next = p;

}else

if(p)

a=p;

else a=q;

return a;}}

;

簡潔一點的**

/*

struct listnode

};*/

class

solution

else}}

;

劍指offer 16 合併兩個排序的鍊錶

題目 輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。思路 先對兩個鍊錶用容器進行 然後在容器中對容器內的元素進行排序,最後進行合成鍊錶。struct listnode class solution while phead2 null sort vec.b...

《劍指Offer》16 合併兩個排序的鍊錶

題目 16.合併兩個排序的鍊錶 知識點 魯棒性 題目描述 輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。解題思路 解法一 使用迴圈實現,即首先排除特殊情況 兩個鍊錶同時為空,或其中之一為空 其次同時對兩個鍊錶進行遍歷,將值較小的結點接到輸出鍊錶末尾即可。...

劍指Offer 16 合併兩個排序的鍊錶

之前pta做過類似的題目,當時那道題應該是每次新建乙個節點 這次利用的原本存在的節點構成了合併後的鍊錶。幾點注意 1 空的頭節點最後要刪去,用delete刪去 2 構造空的頭節點時,要傳遞建構函式 constructor 要求的引數,一開始沒有加引數,報錯,加引數之後通過執行。struct list...