LeetCode刷題記錄 合併兩個有序鍊錶

2022-08-19 21:39:12 字數 700 閱讀 3036

題目:

將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。 

示例:

輸入:1->2->4, 1->3->4輸出:1->1->2->3->4->4

感覺自己有點不適合程式設計啊,之前做兩數相加就做了好久,這個題其實比兩數相加簡單,用遞迴很容易求解出來,遞迴函式中需要做的

1.若有連個鍊錶有空值存在則返回另外乙個鍊錶

2.若連個鍊錶都不為空,則比較鍊錶值大小,較小的值賦給node.value,然後更新鍊錶指向,node.next則指向遞迴呼叫函式,返回node,完成

/*** definition for singly-linked list.

* public class listnode

* }*/class solution {

public listnode mergetwolists(listnode l1, listnode l2) {

listnode node;

if(l1==null||l2==null)

return l1==null?l2:l1;

else{

if(l1.val之前做就耗了很多時間,一開始沒打算用遞迴求解,但是判斷一些特殊條件時,語句會寫的很複雜

leetcode刷題記錄21合併兩個有序鍊錶

題解 將兩個公升序鍊錶合併為乙個新的 公升序 鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。definition for singly linked list.class listnode def init self,val 0,next none self.val val self....

leetcode刷題記錄

我覺得每天來兩道,練習練習,再看看人家是怎麼優化的。1.給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。c 暴力求解,204ms,9.1m class solution for index,num in enumerate ...

LeetCode刷題記錄

動態規劃和貪心演算法的異同點 class solution throw newruntimeexception 時間複雜度 o n 2 對於每個元素,我們試圖通過遍歷陣列的其餘部分來尋找它所對應的目標元素,這將耗費 o n o n 的時間。因此時間複雜度為 o n 2 需要一種方法,尋找符合要求的元...