兩個鍊錶的合併

2021-08-28 05:40:52 字數 750 閱讀 9849

題目要求:

注意題目中的一句話,要求我們使用原來序列中的結點!那麼我們就不能使用新的記憶體單元,來單獨儲存合併後的鍊錶。

【如果申請新記憶體,pta會報段錯誤】

使用原來的結點:優點,節省記憶體;缺點,破壞了原來的鍊錶,不能原樣輸出原鍊錶##

使用新記憶體單元:優點,儲存原鍊錶狀態;缺點,浪費記憶體##

使用原來結點的**:

list merge(list l1, list l2)

else

}if(l1 != null)

else

l1->next = null;

l2->next = null;

return head;

}

不使用原來結點的**:

list merge(list l1, list l2)

else

} if(l1 != null)

p->next = l1;

else

p->next = l2;

return head;

}

合併兩個鍊錶

就是簡單的合併兩個鍊錶,這裡要求倆個鍊錶是有序的。比如 1 2 3 4 5 和 0 7 13 合併之後為 0 1 2 3 4 5 7 13 首先,簡單介紹一下思路,首先區遍歷倆個鍊錶,如果第乙個鍊錶的值小於等於第二個鍊錶的值,那麼將第乙個鍊錶的值插入乙個新的頭節點 鍊錶中,反之如果大於第二個鍊錶的值...

合併兩個鍊錶

1.問題描述description 將兩個公升序鍊錶合併為乙個新的公升序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。示例 輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 42.思路 將頭部較小的鍊錶的節點與另乙個鍊錶合併,遞迴解答。退出條件為 當乙個鍊錶為空時,返回另乙個鍊錶...

鍊錶 合併兩個有序鍊錶

標籤 鍊錶 題目描述 輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。解題思路 兩種解法 遞迴和非遞迴 拓展 參考 public listnode merge listnode list1,listnode list2 else 非遞迴 public li...