合併兩個有序鍊錶

2021-08-19 10:05:59 字數 444 閱讀 2283

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

示例:

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

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

思路:很簡單就是二路歸併的思想,時間複雜度o(n)。
/**

* definition for singly-linked list.

* struct listnode ;

*/struct listnode* mergetwolists(struct listnode* l1, struct listnode* l2)

else

}else if(l1!=null)

else if(l2!=null)

}r->next=null;

return l->next;

}

合併兩個有序鍊錶

鍊錶的題目總是讓我很惆悵。動輒就會runtime error。比如這題,額外用了乙個節點的空間來儲存頭節點。我很不情願多用這個空間,不過貌似不行。貌似不行,實際可行,見附錄。把頭節點提出迴圈 實現類 class solution else if l1 null p next l1 if l2 nul...

合併兩個有序鍊錶

三個指標乙個儲存la鍊錶 乙個儲存lb鍊錶,乙個指向新的鍊錶。鍊錶的插入,兩個指標,乙個是head,乙個指向head後面的鏈,新插入的元素位於head後面。執行該 自己外加上class類。static class node public static void main string args st...

合併兩個有序鍊錶

先考慮鍊錶其中乙個為空的情況 if not l1 return l2 if not l2 return l1 curnode1 l1 curnode2 l2 先選出第乙個節點 if curnode1.val curnode2.val head curnode1 curnode1 curnode1.n...