合併兩個排序的鍊錶

2021-09-12 07:36:06 字數 515 閱讀 8991

輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,合成後的鍊錶滿足單調不減規則。

解題思路

可以參考歸併排序歸併時合併兩個有序的陣列的過程,這裡可以新開闢乙個鍊錶,不斷比較兩個輸入鍊錶的值,讓較小的加入新的鍊錶中,然後繼續前進,直到兩個鍊錶都為空。

/*

struct listnode

};*/

class solution

else if(q==null && p!=null)

else if(p->val <= q->val)

else

ss=ss->next;

}return dumh->next;

}};

上述同樣的思路其實可以想到用遞迴的方法來解決, 可以避免開闢新的空間

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

else

}

合併兩個排序鍊錶

struct listnode class solution else while pstart1 null pstart2 null plast next pstart1 plast pend1 pend1 pend1 next pstart1 pend1 else plast next psta...

合併兩個排序鍊錶

描述 將兩個排序鍊錶合併為乙個新的排序鍊錶樣例 給出1 3 8 11 15 null,2 null,返回1 2 3 8 11 15 null。解題思路 將兩個鍊錶當中的對應元素的值進行比較,重新確定新鍊錶當中元素的位置。若第乙個鍊錶當前位置的值小於第二個鍊錶當前值,則不需要改變位置,第乙個鍊錶的指標...

合併兩個排序鍊錶

問題描述 將兩個排序鍊錶合併為乙個新的排序鍊錶 樣例 給出1 3 8 11 15 null,2 null,返回1 2 3 8 11 15 null。解題思路 遍歷第二個鍊錶的每乙個節點,然後與第乙個節點的第乙個節點比較,如果第二個鍊錶節點的值小於第乙個,就插入到第乙個煉表裡,如果大於就到下乙個節點。...